从每行数据的 .txt 文件创建 pandas 数据框
Create pandas dataframe from .txt file with data per row
我有一个 .txt 文件,其中的数据排序如下:
R11
R12
R13
R14
R15
R16
R17
R18
R19
R20
我需要遍历文本文件中的行以填充每行的列。
换句话说,数据需要转换为 pandas DataFrame,如下所示:
| Column1 | Column2 | Column3 | Column4 | Column5 |
|---------|---------|---------|---------|---------|
| R11 | R12 | R13 | R14 | R15 |
| R16 | R17 | R18 | R19 | R20 |
我的代码开头如下。在 运行 之后,我现在有一个名为 data
的所有行的列表,但是如何获得上面的 pandas DataFrame 作为输出?
with open('data.txt','r') as file:
data = file.read().split('\n')
你快到了!
以列表形式读取数据后,您可以将列表分成 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"])
P.S。我假设最后一列中有错字,因为它似乎再次命名为 Column4,但在这里我将其命名为 Column5。如果您需要,您可以随时将其命名为 Column4。
您可以使用 pd.read_csv
和名称 column
名称
读取文本文件
pd.DataFrame(pd.read_csv('data.txt', names=[0]).values.reshape(-1,5), columns = ['Column1','Column2', 'Column3', 'Column4', 'Column4'])
我有一个 .txt 文件,其中的数据排序如下:
R11
R12
R13
R14
R15
R16
R17
R18
R19
R20
我需要遍历文本文件中的行以填充每行的列。 换句话说,数据需要转换为 pandas DataFrame,如下所示:
| Column1 | Column2 | Column3 | Column4 | Column5 |
|---------|---------|---------|---------|---------|
| R11 | R12 | R13 | R14 | R15 |
| R16 | R17 | R18 | R19 | R20 |
我的代码开头如下。在 运行 之后,我现在有一个名为 data
的所有行的列表,但是如何获得上面的 pandas DataFrame 作为输出?
with open('data.txt','r') as file:
data = file.read().split('\n')
你快到了!
以列表形式读取数据后,您可以将列表分成 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"])
P.S。我假设最后一列中有错字,因为它似乎再次命名为 Column4,但在这里我将其命名为 Column5。如果您需要,您可以随时将其命名为 Column4。
您可以使用 pd.read_csv
和名称 column
名称
pd.DataFrame(pd.read_csv('data.txt', names=[0]).values.reshape(-1,5), columns = ['Column1','Column2', 'Column3', 'Column4', 'Column4'])