在 Python 中將 XLSX 轉換為 CSV 檔案

Manav Narula 2023年1月30日
  1. XLSX 和 CSV 檔案格式
  2. 在 Python 中使用 Pandas 庫將 XLSX 轉換為 CSV 檔案
  3. 在 Python 中使用 xlrdcsv 模組將 XLSX 轉換為 CSV 檔案
  4. 在 Python 中使用 openpyxlcsv 模組將 XLSX 轉換為 CSV 檔案
  5. まとめ
在 Python 中將 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 中使用 xlrdcsv 模組將 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 中使用 openpyxlcsv 模組將 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 模組提供了通過三行程式碼實現此目的的最簡單方法。其他方法需要使用 xlrdopenpyxl 模組讀取 XLSX 檔案,並使用 csv 模組將它們寫入 CSV 檔案。

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

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

相關文章 - Python CSV