簡體   English   中英

openpyxl 如何在工作表中寫入列表數據?

[英]How can openpyxl write list data in sheet?

我正在使用openpyxl處理一些科學數據,當我將列表數據寫入excel文件時,我遇到了問題。

wb = openpyxl.Workbook(optimized_write=Ture)
ws_write = wb.create_sheet(0)

for i in range(row):
   ws_write.append([datalist[i][0]])

wb.save(filename='data.xlsx')

完成后,似乎只能將列表寫入 xlsx 文件的第一列。 如何將數據列表的相同列分配給同一張表中 xlsx 文件的相同列? 有沒有控制輸出的參考?

使用ws.append(row)您必須將整個傳遞作為序列或作為生成器插入。 我不明白你的數據結構,但像下面這樣的東西應該可以工作。

for row in datalist:
    ws.append(row)

如果這還不夠,請提供有關數據結構的更多信息。

您只寫入數據的第一列(col=0)。 為了包含所有數據,添加一個內部循環:

for i in range(row):
    for j in range(col):
       ws_write.append([datalist[i][j]])
wb.save(filename='data.xlsx')

或者,一次寫入整行:

for i in range(row):
   ws_write.append([datalist[i]])
wb.save(filename='data.xlsx')

我不知道那個包來確保輸出語法是正確的。

編輯:查看此內容后: 在 Python 中使用 openpyxl 將行插入 Excel 電子表格中,您似乎需要執行以下操作:

for i in range(row):
    for j in range(col):
       ws_cell(row=i,col=j).value = datalist[i][j]
wb.save(filename='data.xlsx')

如果我正確理解你的問題,你需要這樣的東西:

myList = ['First','Second','Third','Fourth','Fifth']
wb = xl.load_workbook('test.xlsx')
ws= wb.active
ws.append(myList)

這會將列表中的每個項目附加到同一行的每一列上。

希望有幫助:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM