我知道这个问题已经被问了很多遍了,但是这让我真的抓狂了。我有一个.txt文件,看起来像:
“ 0,1,2,3,4,.... 63,0,1,2,3,4 ..... 63”
“ 0,1,2,3,4,.... 63,0,1,2,3,4 ..... 63”
“ 0,1,2,3,4,.... 63,0,1,2,3,4 ..... 63”
,以此类推。 因此,这是64 + 64 = 128列,用逗号分隔,而每一行都用双引号引起来。
我使用了以下命令:
#Used this initially
df = pd.read_csv('test_data.txt')
#Used this after reading more stackoverflow answers
df = pd.read_csv('test_data.txt', header = None, sep=",", delimiter=',', quotechar='"', index_col = None)
我知道sep和delimiter是相同的参数,但是无论如何我都尝试过,我都不必指定这些参数,因为pandas默认选择逗号。 在此之后,我只是使用:
df.head()
它输出:
0
0 0.00,1.00,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9...
1 0.00,1.00,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9...
2 0.00,1.00,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9...
3 0.00,1.00,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9...
4 0.00,1.00,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9...
它将全部内容读为一栏,请告知我如何阅读所有128列。
答案 0 :(得分:2)
这将使您获得所需的结果:
df = pd.read_csv('test_data.txt', header=None)
df = pd.DataFrame(df[0].str.split(',').tolist())
因此,这将读取您的文件,该文件的每一行都用引号引起来,并将其打包为单列。
然后,您将该列除以comma
并从结果中构造新的数据框。