从.txt文件创建数据帧,每行包含数据

2024-07-05 11:09:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个.txt文件,数据顺序如下:

R11
R12
R13
R14
R15
R16
R17
R18
R19
R20

我需要迭代文本文件中的行以填充每行的列。 换句话说,数据需要转换为如下所示的数据帧:

| Column1 | Column2 | Column3 | Column4 | Column5 |
|---------|---------|---------|---------|---------|
| R11     | R12     | R13     | R14     | R15     |
| R16     | R17     | R18     | R19     | R20     |

我的代码从以下代码开始。运行之后,我现在有一个名为data的所有行的列表,但是如何获得如上所述的数据帧作为输出

with open('data.txt','r') as file:
    data = file.read().split('\n')

Tags: 数据代码txtdatafiler20r17r16
2条回答

您可以使用pd.read_csv和名称column读取文本文件

pd.DataFrame(pd.read_csv('data.txt', names=[0]).values.reshape(-1,5), columns = ['Column1','Column2', 'Column3', 'Column4', 'Column4'])

enter image description here

你快到了! 将数据作为列表读取后,您可以将列表分成5个部分,然后将其传递到pd.DataFrame()

with open('data.txt','r') as file:
    data = file.read().split('\n')

# split the list in chunks of 5s
chunks = [data[x:x+5] for x in range(0, len(data), 5)]

# pass the chunks in pd.DataFrame and specify the columns names of the OP:
pd.DataFrame(chunks, columns=["Column1", "Column2", "Column3", "Column4", "Column5"])

另外,我假设最后一列中有一个拼写错误,因为它似乎再次命名为Column4,但在这里我将其命名为Column5。如果这是您需要的,您可以随时将其命名为Column4

相关问题 更多 >