2017-10-24 8 views
0

私は、openpyxlを使ってPythonで2次元のリストを書く方法を考案してきました。フォルダごとにpdfsのリストを得ました。これまでファイル名に下線( "year_day_month_name.pdf")がありましたが、これまでに値を抽出してリストに入れ、Excelの各列のタイトルを書き込むことはできましたが、値をリストから除外し、列と行を繰り返してExcelファイルに書き出します2次元リストをopenpyxlでExcelに書き込む

リストの最初の値はコードの最後の部分に書き込むことしかできませんでしたが、感謝

from os import listdir 
from openpyxl import Workbook 

root = "C:\z_PruebPy" 

multilist = [] 


for files in listdir(root): 
    multilist.append(str(files).strip(".pdf")) 

ldel = [] 

for i in multilist: 
    ldel.append(i.split("_")) 

print(ldel) 

for pp in ldel: 
    print(pp) 

book = Workbook() 
sheet = book.active 

columns = ["YEAR", "MONTH", "DAY", "NUMBER", "TIPEB", "ROL", "ST", "NUM", 
     "USE", "PROP"] 

row = 1 
for i, value in enumerate(columns): 
    sheet.cell(column=i+1, row=row, value=value) 

for pe in ldel: 
    sheet.cell(column=1, row=row+1, value=pe[0]) 
    sheet.cell(column=2, row=row + 1, value=pe[1]) 
    sheet.cell(column=3, row=row + 1, value=pe[2]) 


book.save("C:/z_PruebPy/output.xlsx") 

答えて

0

私はあなたがしたいことをかなり理解していませんが、あなたのコードは不必要に複雑です。

ws.append(columns) 
for pe in ldel: 
    ws.append(pe) 

すべきことです。

+0

うわー、私はあまりにも複雑だったので、私は別のセルで作業すると思ったので、各セルに書き込むように設定しなければなりませんでした。 – fcr

関連する問題