[英]Converting text file to .xlsx in python
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個元素。
您需要將定界符指定為空格而不是逗號。
import pandas as pd
df = pd.read_csv("input.txt", header=None, delim_whitespace=True, names=['a','b','c','d'])
df.to_excel('test2.xls',index=False, header=None)
請注意,我使用delim_whitespace=True
告訴熊貓使用空格而不是逗號。 另外,由於第一行中只有2個元素,因此我將各列命名為熊貓,以便讓您知道您希望有4列。
import pandas as pd
with open('input.txt') as fin:
lines = fin.readlines()
lines[0] = "0 " + lines[0] + " 0"
with open('input2.txt', 'w') as fout:
for line in lines:
fout.write(line)
df = pd.read_csv('input2.txt', header=None, delim_whitespace=True)
df.to_excel('output.xls', index=False, header=None)
因此,這將創建不必要的input2.txt
並且在您的第一行是文本的第一行的情況下應該可以正常工作。
但是改變的是10 4
變為0 10 4 0
因此其中有4個元素。
我做了delim_whitespace=True
的read_csv()
因為它告訴熊貓不要在逗號中,而在空格中。
在頂部,我打開文件,使用lines = fin.readlines()
,然后執行lines[0]
因為lines
是一個數組,而第一個元素是arr[0]
。 然后我將0和一個空格放在左邊,然后將一個空格然后放在0右邊。 然后,我編寫了一個新文本,並使用for
循環將所有行都寫了進去。
最后,我將其插入到read_csv()
函數中,並使用上述參數和另一個參數將to_excel()
應用於。
如果這會創建一個新的文本文件,並且文本內容完全不是熊貓,那也可以。 這應該可以工作,但我還沒有檢查,所以我不知道這是否可行。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.