在 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