2017-09-01 4 views
0

テキストファイルから読み込んだデータをExcelシートに取り込みたいとします。 スクリプトはテキストファイルを開き、特定の属性をリストに入れます。次に、Excelシートにリスト内のデータを入力します。PythonリストからExcelを読み込みます

同じ場所に多数のtxtドキュメントがあるので、スクリプトがファイルをループします。

私のコードで何が問題になっていますか?それは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() 
+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() 
関連する問題