嗨,谢谢你的阅读。
我在python中遇到for循环问题。 我正在尝试逐行读取我的.txt文件,并使用worksheet.write_row导入excel中的每一行。 我已经尝试了许多其他方法来完成这项工作,但对于所有这些都是新手,这个对我来说是最容易理解的。
它只从文件中选择了一行,所以我很确定我写的“for”循环出了问题。
我已经尝试了所有不同类型的编辑循环,我能想到但没有任何效果。我也研究过网络,但找不到任何我能认同的解决方案。所以任何帮助都将不胜感激。
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()
非常感谢!
答案 0 :(得分:1)
在评论中撰写讨论,
:
。ascii
,则需要覆盖解码行为。xlsxwriter
。答案 1 :(得分:0)
感谢Baris Demiray的帮助,我成功地逐行进行了这项工作。我有一个由“º”符号引起的解码错误。现在已修复。如果有人有兴趣,我会分享我的代码。
唯一的问题是,如果您的.txt文件包含数字,excel最初将无法识别这些数字。如果有人知道如何编辑此代码以便excel能够识别带有数字的字符串,请随时编辑。
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
就是这样,也许它可能会帮助某些人。请记住,我是新手,并且多年没有编程,所以我确信有更好的方法可以做到这一点。