簡體   English   中英

在python中將文本文件轉換為.xlsx

[英]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=Trueread_csv()因為它告訴熊貓不要在逗號中,而在空格中。

在頂部,我打開文件,使用lines = fin.readlines() ,然后執行lines[0]因為lines是一個數組,而第一個元素是arr[0] 然后我將0和一個空格放在左邊,然后將一個空格然后放在0右邊。 然后,我編寫了一個新文本,並使用for循環將所有行都寫了進去。

最后,我將其插入到read_csv()函數中,並使用上述參數和另一個參數將to_excel()應用於。

如果這會創建一個新的文本文件,並且文本內容完全不是熊貓,那也可以。 這應該可以工作,但我還沒有檢查,所以我不知道這是否可行。

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM