我正在尝试将txt
文件的前三列内容复制到Excel
文件的前三列。
这是我的代码:
import XlsxWriter
worksheet1 = workbook.add_worksheet()
worksheet1.write('A1', 'Time', bold);worksheet1.write('B1', 'User Value', bold);worksheet1.write('C1','Address', bold);worksheet1.write('D1', 'Serial Number', bold);
items = os.listdir(directory)
for FILE in items:
if FILE.endswith('file.txt'):
FileSelection = directory+'/' + FILE
Array1 = []
with open(FileSelection, 'r') as f:
for line in f:
valuesList = line.split('\t')
#print valuesList
Array1.append(valuesList)
for j in range(len(Array1)):
if j == 0:
continue
else:
print Array1[j][0]
worksheet1.write('A2:D2', Array1[j][0]) #I want to say, copy the columns A to D but start from the second raw
然而,它将整个txt数组复制到Excel
文件的第一列!
答案 0 :(得分:1)
看起来你想要的'文本文件'实际上是一个csv,只有一个不同的分隔符(这有点令人困惑的约定)。您可以使用csv模块指定:
>>> import csv
>>> with open('your file.txt', 'rb') as csvfile:
... reader = csv.reader(csvfile, delimiter='\t')
... for row in reader:
... print ', '.join(row)
有一个类似的csv编写器模块,或者你真的想要一个excel文件吗?
我在你的代码中也注意到,值列表可能会截断前3列,因为这就是你想要的......
这可能是您收到所有原始文件的原因。所以改变
valuesList = line.split('\t')
到
valuesList = line.split('\t')[:3]