在 Python 中將 XLSX 轉換為 CSV 檔案
- XLSX 和 CSV 檔案格式
- 在 Python 中使用 Pandas 庫將 XLSX 轉換為 CSV 檔案
-
在 Python 中使用
xlrd
和csv
模組將 XLSX 轉換為 CSV 檔案 -
在 Python 中使用
openpyxl
和csv
模組將 XLSX 轉換為 CSV 檔案 - まとめ
本教程將演示在 Python 中將 XLSX 檔案轉換為 CSV。
XLSX 和 CSV 檔案格式
excel 檔案的預設格式是 XLSX。它儲存所有工作簿資料以及公式、圖表和其他內容。
我們還可以將 Excel 工作簿儲存為 CSV 檔案。
CSV 是逗號分隔的文字檔案。也可以使用簡單的文字編輯器訪問此文字檔案。
CSV 檔案佔用的記憶體更少,訪問速度更快。但是,CSV 檔案僅儲存資料。
如果將 Excel 工作簿儲存為 CSV,則所有公式、圖表和資料透視表都將丟失。
XLSX 是最新的 Excel 工作簿格式。直到 Excel 2003,檔案格式都是 XLS。
下面討論的方法適用於兩種檔案格式。
在 Python 中使用 Pandas 庫將 XLSX 轉換為 CSV 檔案
pandas
模組允許我們建立和使用 DataFrame 物件。資料在 DataFrame 中被組織成行和列。
我們可以使用 Pandas 庫將 XLSX 和 CSV 檔案讀入 DataFrame。
要使用 Pandas 將 XLSX 轉換為 CSV,我們會將 XLSX 檔案讀入 DataFrame 並將其匯出為 CSV 檔案。
要讀取 excel 檔案,我們可以使用 pandas.read_excel()
函式。這會將資料儲存在 DataFrame 中。
然後,使用 pandas.to_csv()
函式將其儲存為 CSV 檔案。
例子:
import pandas as pd
df = pd.read_excel("sample.xlsx")
df.to_csv("sample.csv")
在 Python 中使用 xlrd
和 csv
模組將 XLSX 轉換為 CSV 檔案
xlrd
模組提供了一種讀取 excel 檔案的有效方法。可以使用 csv
模組將檔案的內容寫入 CSV 檔案。
讓我們討論如何。
xlrd.open_workbook()
可用於讀取 XLSX 工作簿。我們假設我們只想將工作簿的第一張錶轉換為 CSV。
使用 sheet_by_index()
函式訪問此工作表。第一個工作表的索引為零,被傳遞給這個函式。
我們將使用 open()
函式建立一個 CSV 檔案,並使用 csv.writer()
建構函式建立一個 writer
物件。該物件將允許我們將資料寫入 CSV 檔案。
我們將迭代檔案中的總行數,並使用帶有 writerow()
函式的 writer
物件寫入每一行。我們使用 row_values()
函式獲取行的內容。
我們將在下面的示例中實現這一點。
import xlrd
import csv
ob = csv.writer(open("sample.csv", "w", newline=""))
data = xlrd.open_workbook("sample.xlsx").sheet_by_index(0)
for r in range(data.nrows):
ob.writerow(data.row_values(r))
在 Python 中使用 openpyxl
和 csv
模組將 XLSX 轉換為 CSV 檔案
openpyxl
模組在 Python 中用於對 Excel 檔案執行讀寫操作。我們可以通過與之前類似的方法將此模組與 csv
庫一起使用。
openpyxl
模組將用於使用 load_workbook()
函式讀取 XLSX 檔案。我們只會將當前工作表轉換為 CSV。
使用 active
屬性訪問此工作表。
我們將使用 csv.writer
物件將此工作表的內容寫入 CSV 檔案,如前所述。我們將遍歷工作表並使用列表推導讀取行的內容。
這些內容將被寫入 CSV 檔案。
請參閱下面的程式碼。
import openpyxl
import csv
ob = csv.writer(open("sample.csv", "w", newline=""))
data = openpyxl.load_workbook("sample.xlsx").active
for r in data.rows:
row = [a.value for a in r]
ob.writerow(row)
まとめ
本教程討論了使用 Python 將 XLSX 檔案轉換為 CSV 的方法。
pandas
模組提供了通過三行程式碼實現此目的的最簡單方法。其他方法需要使用 xlrd
和 openpyxl
模組讀取 XLSX 檔案,並使用 csv
模組將它們寫入 CSV 檔案。
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn