2016-04-11 146 views
3

我在一個名爲DOT的文件夾中有一個文本文件(textfile.txt),我試圖使用Python代碼將該文件轉換爲Excel文件(Excelfile.xls)。我不熟悉Python,但是從我寫下下面的代碼的其他評論。該代碼不起作用。任何人都可以幫助我得到正確的語法嗎?如何使用Python將文本文件轉換爲Excel

book = xlwt.Workbook() 
import xlwt 
import xlrd 
f = open('/DOT/textfile.txt', 'r+') 
book.save('/DOT/Excelfile' + '.xls') 
+0

你沒有閱讀你的文本文件,也沒有轉換它。你能告訴我文本文件中的數據格式嗎?它是否是行數據,每個數據點用逗號分隔? – trans1st0r

+0

請參閱https://pypi.python.org/pypi/xlwt中的快速入門部分 – trans1st0r

+0

該文件具有由選項卡分隔的數據行 – Gloria

回答

1

這是基於文檔來源:https://pypi.python.org/pypi/xlwt

您將需要通過線,將其格式化讀取文件中的行,並將其寫入xls文件。

import xlwt 
import xlrd 

book = xlwt.Workbook() 
ws = book.add_sheet('First Sheet') # Add a sheet 

f = open('/DOT/textfile.txt', 'r+') 

data = f.readlines() # read all lines at once 
for i in range(len(data)): 
    row = data[i].split() # This will return a line of string data, you may need to convert to other formats depending on your use case 

    for j in range(len(row)): 
    ws.write(i, j, row[j]) # Write to cell i, j 

book.save('/DOT/Excelfile' + '.xls') 
f.close() 

在這裏,數據正在被讀取,所有的行一次。然後,每行都被分割成數據點列表,並添加到電子表格的新行中。

這不是最好的/最佳的解決方案,但應該讓你開始。如果有錯誤,請告訴我。

+0

當我使用您的代碼時,出現錯誤「ValueError:列索引(256),而不是整數在範圍內(256)」 – Gloria

+0

抱歉,更改了一行:'row = data [i] .split ()' – trans1st0r

+0

我仍然得到相同的錯誤「」ValueError:列索引(256)而不是範圍內的整數(256)「。該文件有500列以上是否是問題? – Gloria

相關問題