将一列从txt文件复制到Excel文件中的一列,Python
问题描述:
我试图将txt
文件的前三列的内容复制到Excel
文件的前三列。将一列从txt文件复制到Excel文件中的一列,Python
这里是我的代码:
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
文件的第一列!
答
它看起来像你想要的'文本文件'实际上是一个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文件?
我也注意到在你的代码也许应该ValuesList中截断第3列,因为这是你看起来是想......
这可能是为什么你所得到的所有原始文件。因此,改变
valuesList = line.split('\t')
到
valuesList = line.split('\t')[:3]
什么你通过一个txt文件的 “列” 的意思是?列是否由制表符分隔? – brianpck
是的,它们是以表格的形式出现的(每列由制表符分隔) – Ssein
您是否正在写入CSV文件(如标题中)或Excel文件(如您的代码中)? – brianpck