【发布时间】:2017-06-22 20:41:55
【问题描述】:
我正在编写一个将 .txt 文件转换为 .xls 文件的代码,我需要将 .txt 文件的每 4 列输入,例如“Sheet 1”,每隔三个文件输入,例如“Sheet 2” "等等。文本文件的前 2 行有标题,实际数据从第 3 列开始。我不确定如何做到这一点,任何指导或帮助将不胜感激。这是我当前的代码:
import xlwt
import six
import itertools
def is_number():
try:
float(s)
return True
except ValueError:
return False
def txt_to_xls():
f=open('textfile.txt', 'r+')
row_list=[]
for row in f:
row_list.append(row.split())
column_list=map(list, siz.moves.zip_longest(*row_list, fillvalue=' '))
workbook=xlwt.Workbook()
worksheet=workbook.add_sheet('Sheet 1')
i=0
for column in column_list:
for item in range(len(column)):
value=column[item].strip()
if is_number(value):
worksheet.write(item, i, float(value))
else:
worksheet.write(item, i, value)
i+=1
workbook.save('test.xls')
【问题讨论】:
-
请不要将代码添加为照片。请edit您的帖子以文本形式包含代码。
-
另外,如果您能解释为什么您的代码没有达到您的预期,这将很有帮助。出了什么问题?
-
@ScottCraner 抱歉,我已经解决了。
-
@roganjosh 我对 python 很陌生,我不确定如何编辑代码。我尝试了一些事情,但没有取得太大成就。我觉得这与制作 for 循环来遍历列有关,但我不知道该怎么做。