10 4
0 0 0 0
0 0 1 0
1 0 2 0
2 2 0 1
0 0 1 1
0 1 2 1
1 1 1 1
1 2 2 0
0 0 1 0
2 0 1 0
我想读上面的文本文件存储在xlsx。但是我的代码整行都存储在同一个单元格中。但我要他们在不同的牢房。每个项目都是空间分隔的。
import pandas as pd
df=pd.read_csv('input.txt')
df.to_excel('test2.xls',index=False)
预期结果:每个项目存储在不同的单元格中。
注意,第一行只有2个元素。
2条答案
按热度按时间06odsfpq1#
您需要将分隔符指定为空格而不是逗号。
请注意,我使用
delim_whitespace=True
告诉pandas使用空格而不是逗号。另外,由于第一行只有2个元素,我给列命名是为了让pandas知道你需要4列。j8ag8udp2#
因此,这会创建一个不必要的
input2.txt
,假设第一行是文本中的第一行,这应该可以工作。但是它改变的是
10 4
变成了0 10 4 0
,所以它有4个元素。我为
read_csv()
做了delim_whitespace=True
,因为它告诉pandas不要用逗号,而要用空格。在顶部,我打开文件,使用
lines = fin.readlines()
,然后执行lines[0]
,因为lines
是一个数组,第一个元素是arr[0]
。然后我把0和一个空格放在左边,一个空格然后一个0放在右边。然后我写了一个新的文本,并使用for
循环写入了里面的所有行。最后,我将其插入到
read_csv()
函数中,并应用to_excel()
和参数以及我上面提到的另一个参数。如果这创建了一个新的文本文件,并且文本内容根本不是pandas,也没关系。这应该是工作,我还没有检查,所以我不知道这是否工作或没有。
希望这对你有帮助!