将一个列从txt文件复制到Excel文件,Python中的一列

我正在尝试将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文件的第一列!

它看起来像你想要的“文本文件”实际上是一个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]