[英]How do I read part of a file into a DataFrame with Python
我有看起来像这样的文本文件:
0.289
--------
A B C D E
--------
EBA
E-D
EB-
EED
EBD
EBE
E-D
E-D
现在我想将各种位读入数据结构。
我想学习如何使用数据帧,所以我想打开文件,将第一个值读入浮点数,跳过一行,将下一行读入内置列表,然后跳过一行并将其余部分读入数据帧。
数据帧的文件读取例程似乎适用于整个文件,因此不确定如何执行此操作。
您还必须能够将行添加到数据框中,我只是不知道该怎么做,而且文档非常广泛 - 这很好 - 但我需要阅读 50 页才能找到答案......
编辑:我可以这样做,但必须有更好的方法:
alignmentMatrix = []
with open("DataFile.txt", 'r') as f:
theta = f.readline().strip()
f.readline()
alphabet = f.readline().split()
f.readline()
for line in f:
row = list(line.strip())
alignmentMatrix.append(row)
alignmentDF = pandas.DataFrame(alignmentMatrix)
所以我最终得到了这个:
0 1 2
0 E B A
1 E - D
2 E B -
3 E E D
4 E B D
5 E B E
6 E - D
7 E - D
所以它是一个二维数据框。
对于第一位,你不能比你的例子更好。 但是,您可以将剩余部分作为固定宽度文件 (pandas.read_fwf) 读取:
with open("test.txt", 'r') as f:
theta = float(f.readline().strip())
f.readline()
alphabet = f.readline().split()
f.readline()
alignmentDF = pandas.read_fwf(f, widths=[1,1,1], header=None)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.