Python 匯出到 Excel
-
使用 Python 中的
DataFrame.to_excel()
函式將資料匯出到 Excel -
使用 Python 中的
xlwt
庫將資料匯出到 Excel -
使用 Python 中的
openpyxl
庫將資料匯出到 Excel -
使用 Python 中的
XlsWriter
庫將資料匯出到 Excel
本教程將演示在 Python 中將表格資料寫入 excel 檔案的不同方法。
使用 Python 中的 DataFrame.to_excel()
函式將資料匯出到 Excel
如果我們想在 Python 中將表格資料寫入 Excel 工作表,我們可以使用 Pandas DataFrame
中的 to_excel()
函式。
pandas DataFrame
是一種儲存表格資料的資料結構。to_excel()
函式有兩個輸入引數:檔名和工作表名。我們必須將資料儲存在 pandas DataFrame
中,然後呼叫 to_excel()
函式將該資料匯出到 Excel 檔案中。
我們需要已經在我們的系統上安裝了 pandas 庫才能使這種方法起作用。下面給出了安裝 pandas
庫的命令。
pip install pandas
下面給出了這種方法的工作演示。
import pandas as pd
list1 = [10,20,30,40]
list2 = [40,30,20,10]
col1 = "X"
col2 = "Y"
data = pd.DataFrame({col1:list1,col2:list2})
data.to_excel('sample_data.xlsx', sheet_name='sheet1', index=False)
sample_data.xlsx
檔案:
在上面的程式碼中,我們使用 Python 的 to_excel()
函式將 list1
和 list2
中的資料作為列匯出到 sample_data.xlsx
Excel 檔案中。
我們首先將兩個列表中的資料儲存到 pandas DataFrame
中。之後,我們呼叫 to_excel()
函式並傳遞我們的輸出檔案和工作表的名稱。
請記住,此方法僅在兩個列表的長度相等時才有效。如果長度不相等,我們可以通過用 None
值填充較短的列表來補償缺失值。
這是在 Python 中將資料寫入與 Excel 相容的檔案的最簡單方法。
使用 Python 中的 xlwt
庫將資料匯出到 Excel
xlwt
庫 用於將資料寫入與 Python 中從 95 到 2003 的 Excel 版本相容的舊電子表格中。這是在 Python 中將資料寫入 Excel 檔案的標準方式。
它也相當簡單,與以前的方法相比,我們可以更好地控制 Excel 檔案。我們可以建立一個 xlwt.Workbook
類的物件並呼叫 .add_sheet()
函式在我們的工作簿中建立一個新工作表。
然後我們可以使用 write()
方法來寫入我們的資料。這個 write()
函式將行索引(從 0 開始)、列索引(也從 0 開始)和要寫入的資料作為輸入引數。
我們需要在我們的機器上安裝 xlwt
庫才能使此方法起作用。下面給出了安裝庫的命令。
pip install xlwt
下面給出了這種方法的一個簡短的工作示例。
import xlwt
from xlwt import Workbook
wb = Workbook()
sheet1 = wb.add_sheet('Sheet 1')
#sheet1.write(row,col, data, style)
sheet1.write(1, 0, '1st Data')
sheet1.write(2, 0, '2nd Data')
sheet1.write(3, 0, '3rd Data')
sheet1.write(4, 0, '4th Data')
wb.save('sample_data2.xls')
sample_data2.xls
檔案:
在 Python 中,我們使用 xlwt
庫將資料寫入 sample_data2.xls
檔案。
我們首先建立了一個 Workbook
類的物件。使用這個物件,我們用 Workbook
類的 add_sheet()
方法建立了一個工作表。
然後,我們使用 write()
函式將資料寫入新建立的工作表中。最後,當所有資料都已正確寫入其指定索引時,我們使用 Workbook
類的 save()
函式將工作簿儲存到 Excel 檔案中。
這是一種非常簡單的方法,但唯一的缺點是我們必須記住檔案中每個單元格的行和列索引。我們不能只使用 A1
和 A2
索引。這種方法的另一個缺點是我們只能編寫帶有 .xls
副檔名的檔案。
使用 Python 中的 openpyxl
庫將資料匯出到 Excel
另一種可用於將資料寫入 Excel 相容檔案的方法是 Python 中的 openpyxl
庫。
這種方法解決了以前方法的所有缺點。我們不需要記住每個資料點的確切行和列索引。只需在 write()
函式中指定我們的單元格,如 A1
或 A2
。
這種方法的另一個很酷的優點是它可以用來編寫具有新的 .xlsx
副檔名的檔案,這在以前的方法中不是這種情況。此方法與前一種方法一樣工作。
這裡唯一的區別是我們必須使用 openpyxl
庫中的 cell(row,col)
方法初始化每個單元格和一個工作表。
openpyxl
也是一個外部庫。我們需要安裝這個庫才能讓這個方法正常工作。在我們的機器上安裝 openpyxl
庫的命令如下。
pip install openpyxl
下面給出了這種方法的簡單工作演示。
import openpyxl
my_wb = openpyxl.Workbook()
my_sheet = my_wb.active
c1 = my_sheet.cell(row = 1, column = 1)
c1.value = "Maisam"
c2 = my_sheet.cell(row= 1 , column = 2)
c2.value = "Abbas"
c3 = my_sheet['A2']
c3.value = "Excel"
# for B2: column = 2 & row = 2.
c4 = my_sheet['B2']
c4.value = "file"
my_wb.save("sample_data3.xlsx")
sample_data3.xlsx
檔案:
在上面的程式碼中,我們使用 Python 中的 openpyxl
庫將資料寫入 sample_data3.xlsx
Excel 檔案。
我們首先建立了一個 Workbook
類的物件。我們使用這個物件建立了一個帶有 Workbook.active
的工作表。我們還使用 my_sheet.cell(row = 1, column = 1)
建立了一個單元格物件。
除了寫出確切的行號和列號,我們還可以指定單元格名稱,如 A1
。然後我們可以用 c1.value = "Maisam"
分配我們新建立的單元格值。
最後,當所有資料都已正確寫入其指定索引時,我們使用 Workbook
類的 save()
函式將工作簿儲存到 Excel 檔案中。
使用 Python 中的 XlsWriter
庫將資料匯出到 Excel
將資料寫入與 Excel 相容的檔案的另一種簡單易用的方法是 Python 中的 XlsWriter
庫。
這個庫讓我們對輸出檔案的控制比上面提到的任何以前的方法都多。該庫還支援最新的 Excel 相容副檔名,如 xlsx
。
要將資料寫入 Excel 檔案,我們首先必須通過提供建構函式的檔名作為輸入引數來建立 Workbook
類的物件。然後我們必須在 Workbook
類中使用 add_worksheet()
函式建立一個工作表。
新增工作表後,我們可以使用 sheet.write(cell, data)
函式寫入資料。這個 sheet.write()
函式有兩個引數:單元格的名稱和要寫入的資料。
將所有資料寫入工作表後,我們需要使用 Workbook
類中的 close()
方法關閉我們的工作簿。
XlsWriter
是一個外部庫,沒有預裝 Python。我們首先必須在我們的機器上安裝 XlsWriter
庫才能使此方法起作用。下面給出了安裝 XlsWriter
庫的命令。
pip install XlsxWriter
這種方法的工作演示如下所示。
import xlsxwriter
workbook = xlsxwriter.Workbook('sample_data4.xlsx')
sheet = workbook.add_worksheet()
sheet.write('A1', 'Maisam')
sheet.write('A2', 'Abbas')
workbook.close()
sample_data4.xlsx
檔案:
在上述程式碼中,我們使用 Python 的 xlswriter
庫將資料寫入 sample_data4.xlsx
Excel 檔案。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn