区块链技术博客
www.b2bchain.cn

从正在读取的文本文件中删除或删除标题 – python程序员分享

本文介绍了从正在读取的文本文件中删除或删除标题 – python程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

我正在尝试删除或删除使用熊猫读取的数据标题。一个文件有标题,而另一个没有,但是我希望能够检查标题然后将其删除。

到目前为止,我已经尝试在read_csv函数中使用header = None

from pathlib import Path import pandas as pd  def _reader(fname):     return pd.read_csv(fname, sep="t", header=None)  folder = Path("C:\Me\Project1") data = pd.concat([     _reader(txt)     for txt in folder.glob("*.txt") ]) 

我收到以下错误:
TypeError:必须为str,而不是int

我的两个文件如下所示:

File1.txt

ISIN    AVL_QTY BAD 90000 AAB 8550000 BAD 173688 BAD 360000 BAD 90000 BAD 810000 BAD 900000 BAD 900000 

File2.txt

TEST  543 HELLO 555 STOCK 900 CODE  785 

参考方案

首先,您需要检查第一行是否为标题。例如。您可以检查第一行的任何条目是否均以数字开头,因为这对于列标题而言并不常见。
实际上,在不知道成千上万个文件的情况下,正确的标头检测方法只是猜测-但这并不是代码中的重点。

要使用标头检测,您应该使用普通循环而不是列表推导,以便您可以在每次迭代中:1.检查标头2.读取文件并将数据附加到数据框:

df = pd.DataFrame()  for f in folder.glob("*.txt"):     with open(f) as fin:         chk_lst = next(fin).split()     is_h = not any(v[0].isdecimal() for v in chk_lst)     df = pd.concat([df, pd.read_csv(f, sep='s+', header=(None, 0)[is_h])], axis=1)  # ISIN  AVL_QTY      0        1 # 0  BAD    90000   TEST  543.775                              # 1  AAB  8550000  HELLO  555.000                            # 2  BAD   173688  STOCK  900.000                          # 3  BAD   360000   CODE  785.000                          # 4  BAD    90000    NaN      NaN                         # 5  BAD   810000    NaN      NaN                          # 6  BAD   900000    NaN      NaN                          # 7  BAD   900000    NaN      NaN                 

编辑:
对于级联,您可以使用

    df = pd.concat([df, pd.read_csv(f, sep='s+', header=None, skiprows=(0, 1)[is_h])], axis=0, ignore_index=True)  #        0        1 # 0    BAD    90000                                      # 1    AAB  8550000                                       # 2    BAD   173688                                          # 3    BAD   360000                                       # 4    BAD    90000                                         # 5    BAD   810000                                         # 6    BAD   900000                                     # 7    BAD   900000                                     # 8   TEST      543                                        # 9  HELLO      555                                       # 10 STOCK      900                                        # 11  CODE      785                               

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

我有以下代码:import pandas as pd import requests from bs4 import BeautifulSoup res = requests.get("https://www.bankier.pl/gielda/notowania/akcje") soup = BeautifulSoup(res.cont…

我在具有两个阶段的计算群集(Slurm)上运行python脚本,它们是顺序的。我编写了两个python脚本,一个用于阶段1,另一个用于阶段2。每天早上,我检查所有第1阶段的工作是否都以视觉方式完成。只有这样,我才开始第二阶段。通过在单个python脚本中组合所有阶段和作业管理,是否有一种更优雅/自动化的方法?我如何知道工作是否完成?工作流程类似于以下内容:w…

df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice','Jane', 'Alice','Bob', 'Alice'], 'income&#03…

我的Web服务器的API日志如下:started started succeeded failed 那是同时收到的两个请求。很难说哪一个成功或失败。为了彼此分离请求,我为每个请求创建了一个随机数,并将其用作记录器的名称logger = logging.getLogger(random_number) 日志变成[111] started [222] start…

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 从正在读取的文本文件中删除或删除标题 – python程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们