2017-09-01 64 views
0

我想用從文本文件讀取的數據填充Excel工作表。 我的腳本打開一個文本文件,然後將某些屬性放入列表中。然後我想填充我的Excel表格中的數據。從Python列表中填充Excel

我在同一位置有很多txt文檔,所以我的腳本通過文件循環。

我的代碼有什麼問題?它只填充一行。

import xlwt 
import os 


output = 'D:\Holding_Area\\test.xls' 
file_path='Y:\\Testing\\Crashes' 
pathappend=[] 
r=1 

for a in os.listdir(file_path): 
    pathappend.append(file_path+'\\'+a) 


def main(): 
    for x in pathappend: 
     appendlist=[] 
     wbk = xlwt.Workbook() 
     sheet = wbk.add_sheet('python', cell_overwrite_ok=True)  
     file = open(x) 
     lines = file.readlines() 
     appendlist.append(lines[1][2:10]) 
     appendlist.append(lines[1][13:21]) 
     appendlist.append(lines[4][15:30]) 
     appendlist.append(lines[10][13:22]) 
     appendlist.append(lines[11][9:28]) 
     appendlist.append(lines[22]) 
     appendlist.append(lines[31][84:113]) 
     appendlist.append(lines[27:29]) 
     file.close() 
     for i,e in enumerate(appendlist): 
      sheet.write(r,i,e) 
      r+1 


     wbk.save(output) 
main() 
+0

它似乎是一個問題,它覆蓋自己 – tommy45

回答

0

問題與'r + 1'應該是'r + = 1';如下所示:

import xlwt 
import os 


output = 'D:\Holding_Area\\test.xls' 
file_path='Y:\\Testing\\Crashes' 
pathappend=[] 
r=1 

for a in os.listdir(file_path): 
    pathappend.append(file_path+'\\'+a) 


def main(): 
    for x in pathappend: 
     appendlist=[] 
     wbk = xlwt.Workbook() 
     sheet = wbk.add_sheet('python', cell_overwrite_ok=True)  
     file = open(x) 
     lines = file.readlines() 
     appendlist.append(lines[1][2:10]) 
     appendlist.append(lines[1][13:21]) 
     appendlist.append(lines[4][15:30]) 
     appendlist.append(lines[10][13:22]) 
     appendlist.append(lines[11][9:28]) 
     appendlist.append(lines[22]) 
     appendlist.append(lines[31][84:113]) 
     appendlist.append(lines[27:29]) 
     file.close() 
     for i,e in enumerate(appendlist): 
      sheet.write(r,i,e) 
      r+=1 


    wbk.save(output) 
main()