2017-09-01 4 views
0

Je souhaite remplir une feuille Excel avec des données lues à partir d'un fichier texte. Mon script ouvre un fichier texte et place certains attributs dans une liste. Je veux ensuite remplir ma feuille Excel avec les données de la liste.Remplir Excel à partir de la liste Python

J'ai beaucoup de documents txt dans le même emplacement, donc mon script boucle sur les fichiers.

Quel est le problème avec mon code? Il ne remplit qu'une ligne.

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

Il semble y avoir un problème avec elle-même d'écraser – tommy45

Répondre

0

Problème avec le 'r + 1', il devrait être 'r + = 1'; comme indiqué ci-dessous:

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()