这个问题可能也有人问过,但由于我找不到问题的解决方案,所以我在这里写信,希望有人可以帮助我。



我在其中的文本文件中,所有列数据都位于另一个位置,如何拆分这些数据并创建表。

示例-学生数据。

编号

1个

2

3

4

学生姓名

一种



C

d

年级

第一

第二

第三

第四

学科

英语

数学

科学

物理

获得的标记

50

65岁

55

70

百分比

10%

20%

30%

40%

上面是单列中的示例数据(就像另一列一样)和文本文件中。

如何从文本文件创建数据框并拆分列

我的代码如下,但我什么也没收到

import pandas as pd

def parse_my_file(filename):
  With open ('sample.txt')as f:
      for line in f:
         yield line.strip(). split (' ',1)


 df=pd.DataFrame(parse_my_file('sample.txt'))


谢谢

最佳答案

尝试这个:

import numpy as np
import pandas as pd

x = np.loadtxt('test1.txt',delimiter = '\n\n', dtype=str)
reshaped = x.reshape(-1,5).T
df = pd.DataFrame(data = reshaped[1:,:], columns = reshaped[0])

print(df)


要么

def parseFile(filename, vals_per_col):
    with open('test1.txt','r') as f:
        lines = [line.strip() for line in f if line.strip()]
    return {lines[i]:lines[i+1 : i+5] for i in range(0,len(lines),vals_per_col+1)}

df = pd.DataFrame(parseFile('sample.txt',4))
print(df)


输出:

  SlNo Student Name   Grade      Subject Marks Obtained Percentage
0    1            A   First      English             50        10%
1    2            B  Second  Mathematics             65        20%
2    3            C   Third      Science             55        30%
3    4            D  Fourth      Physics             70        40%

关于python - 如何从具有单列的文本文件创建数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58971209/

10-12 17:12
查看更多