gpt4 book ai didi

python - 使用文本文件中的 header 信息来组织数据框

转载 作者:太空宇宙 更新时间:2023-11-03 20:57:12 24 4
gpt4 key购买 nike

我有一个具有以下格式的文本文件:

_data

loop_

_rlnName
_rlndatainfo1
_rlndatainfo2
_rlndatainfo3
Name datainfo1 datainfo2 datainfo3

其中数据和循环可以被忽略,任何带有_rln的都是标题,然后所有数据都在下面的行中。

可以有随机数量的列和标题,但这是文件的一般布局。数据并不总是按相同的顺序排列,但始终会正确组织,因为标题中的每一行都是数据字段中的列号。出于这个原因,我想编写一个通用函数,我始终可以使用它来处理这些文件,其中我将数据放入数据帧中,并循环遍历标题为每个数据帧列的正确标题的标题。这将使我只需索引我需要的任何列,并使处理速度更快。

到目前为止,我只是尝试循环遍历标题,以便可以将它们放入列表中以给数据框添加标题,然后找出从哪里开始数据行。

import pandas as pd

data = pd.read_csv('text.txt')

titles = []

for line in data.index:
if '_rln' in data.iloc[line]:
titles.append(data.iloc[line])

print(titles)

目前正在创建一个空列表。我一定是做了一些愚蠢的事情,我已经推迟了这么久,因为我对 Pandas 没有太多经验,所以任何帮助将不胜感激。

最佳答案

查找最后一个_rln标题行号然后创建如下数据框

import pandas as pd

titles = []
lastrlnLine = 0;
with open("test3.csv","r") as fi:
for num, ln in enumerate(fi, 1):
if ln.startswith("_rln"):
lastrlnLine = num
titles.append(ln[4:].rstrip())
data = pd.read_csv('test3.csv', delimiter='\t', skiprows=lastrlnLine, header=None, names=titles)
print(data)

关于python - 使用文本文件中的 header 信息来组织数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55938965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com