繁体   English   中英

如何使用 Python 将文件的一部分读入 DataFrame

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM