Python:使用xlsxwriter逐行地从txt导入到excel

嗨,谢谢你的阅读。

我有一个for循环python的问题。 我试图逐行读取我的.txt文件,并使用worksheet.write_row在Excel中导入每一行。 我已经尝试了许多其他的方式来完成这个任务,但是对于所有这些都很新颖,这个对我来说是最容易理解的。

它的工作原理是从文件中只select一行,所以我很确定我写的“for”循环有什么问题。

我试过了所有不同types的编辑循环,我可以想到但没有任何工作。 我也研究了networking,但找不到任何可以识别的解决scheme。 所以任何帮助将不胜感激。

import xlsxwriter workbook = xlsxwriter.Workbook('pythonlinetest.xlsx') #create file worksheet = workbook.add_worksheet() #create worksheet data = open('160919-001 14cts c133_vi.txt','r') #loaddata #count lines linelist = data.readlines() count = len(linelist) print count #check lines #make each line and print in excel for n in range (0, len(linelist)) line = linelist[n] splitline = line.split("\t") worksheet.write_row(row, 0, splitline) row += 1 >>>> Error: File "<ipython-input-4-abc8f489522d>", line 2 for n in range (0, len(linelist)) ^ SyntaxError: invalid syntax #close workbook workbook.close() 

非常感谢!

在评论中写下讨论,

  1. 您错过了:在错误消息中提到的行末尾。
  2. 如果input不是ascii则需要覆盖解码行为。
  3. 请参阅http://xlsxwriter.readthedocs.io/tutorial03.html以覆&#x76D6;xlsxwriterinput格式行为。

所以感谢Baris Demiray的帮助,我设法使这行逐行导入工作。 我有一个由“º”符号导致的解码错误。 这现在已经修复了。 如果有人感兴趣,我会分享我的代码。

唯一的问题是,如果你的.txt文件包含数字,Excel首先不会识别这些数据。 如果有人有一个想法如何编辑此代码,以便Excel可以识别数字的string,请随意编辑。

 import xlsxwriter workbook = xlsxwriter.Workbook('test.xlsx') #create file worksheet = workbook.add_worksheet() #create worksheet data = open('your.txt','r') #loaddata linelist = data.readlines() #read each line count = len(linelist) #count lines print count #check number of lines for num in range (0, count): #create each line and print in excel line = linelist[num] #load each line in variable line = line.decode('latin1') #decode problem solution splitline = line.split("\t") #split lines worksheet.write_row(num, 0, splitline) #write each line in excel workbook.close() #close workbook 

就这样,也许这可能帮助别人。 请记住,我是新来的,没有编程任何东西多年,所以我相信有更好的方法来做到这一点。