簡體   English   中英

如何將 Python 數組寫入 Excel 電子表格

[英]How to write Python Array into Excel Spread sheet

我正在嘗試使用 Python 將以下數組寫入 Excel 電子表格:

array = [ [a1,a2,a3], [a4,a5,a6], [a7,a8,a9], [a10, a11, a12, a13, a14]]

在電子表格數組應該看起來:

a1  a4  a7  a10
a2  a5  a8  a11
a3  a6  a9  a12
            a13
            a14

有沒有人可以展示一些 Python 代碼來做到這一點? 先感謝您,

菲利克斯

這是使用XlsxWriter模塊執行此操作的一種方法:

import xlsxwriter

workbook = xlsxwriter.Workbook('arrays.xlsx')
worksheet = workbook.add_worksheet()

array = [['a1', 'a2', 'a3'],
         ['a4', 'a5', 'a6'],
         ['a7', 'a8', 'a9'],
         ['a10', 'a11', 'a12', 'a13', 'a14']]

row = 0

for col, data in enumerate(array):
    worksheet.write_column(row, col, data)

workbook.close()

輸出:

在此處輸入圖片說明

使用熊貓數據框!

import pandas as pd

array = [['a1', 'a2', 'a3'],
         ['a4', 'a5', 'a6'],
         ['a7', 'a8', 'a9'],
         ['a10', 'a11', 'a12', 'a13', 'a14']]

df = pd.DataFrame(array).T
df.to_excel(excel_writer = "C:/Users/Jing Li/Desktop/test.xlsx")

excel_writer 是 str 或現有 ExcelWriter 對象中的文件路徑。

我見過的使用 Python 寫入 excel 電子表格的最常見方法是使用OpenPyXL ,這是一個非 Python 原生庫。 我聽說偶爾使用的另一個XlsxWriter ,但同樣,它不是本地的。 這兩個站點都有關於如何最好地使用這些庫的很好的文檔,但下面是我編寫的一些簡單代碼來演示OpenPyXL

from openpyxl import workbook
from openpyxl.cell import get_column_letter

workbook = Workbook() # the master workbook
output_file_name = "outfile.xlsx" # what "workbook" will be saved as

worksheet = workbook.active() # all workbooks have one worksheet already selected as the default
worksheet.title = "foo"

worksheet['A3'] = "=SUM(A1, A2)" # set up basic formula
wb.save(output_file_name)

編輯:例如,您的請求可以這樣寫:

## imports and stuff ##
array = [ [a1,a2,a3], [a4,a5,a6], [a7,a8,a9], [a10, a11, a12, a13, a14]]

workbook = Workbook()
worksheet = workbook.active()

numrows = len(array)
letter = 'A'
for r in range(0, numrows):
    if r == 0: letter = 'A'
    if r == 1: letter = 'B'
    if r == 2: letter = 'C'
    ...

    numcols = len(array[r])
    for c in range(0, numcols):
        worksheet[letter.join(c)] = array[r][c]

老實說,這甚至可能不起作用,但我太累了無法測試。 我想你明白了。

如果您已經在為您的任務使用Pandas ,您可以輕松地使用它來創建數據框並將其轉換為 Excel 工作表。 如果沒有,使用xlsxwriter比使用pandas更容易,因為 pandas 是一個有點重的庫。

pip install XlsxWriter

import xlsxwriter

workbook = xlsxwriter.Workbook("MyExcel.xlsx")
worksheet = workbook.add_worksheet()

有多種方法可以將數據寫入excel。 您也可以使用 write_row()、write_column() 或逐個單元格寫入。

write_row(行,列,數據)

row = [1, 2, 3, 4, 5]

worksheet.write_row(1, 2, row)

write_column(行,列,數據)

column= [1, 2, 3, 4, 5]

worksheet.write_column(1, 2, column)

寫(行,列,數據)

worksheet.write(0, 1, "Hello")
worksheet.write(0, 2, "World")

最后,關閉工作簿。

workbook.close()

像這樣,有很多方法可以寫入數據,您也可以對單元格或行或列進行條件格式設置。 文檔可以在這里找到。

print array

這將在 Python 控制台中打印數組,並用方括號標記行的開頭和結尾。 選擇整個並復制粘貼到 Excel。 單擊粘貼圖標 -> 文本導入向導。 那應該提出這個

選擇固定寬度,然后單擊下一步得到這個

單擊下一步,然后單擊完成。 這樣就可以了。 您仍然需要從某些單元格中刪除結束括號。

暫無
暫無

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

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