如何在 Python 中将 XLSX 转换为 CSV 文件
XLSX (Excel Open XML Spreadsheet) 文件是 Microsoft Excel 中的一种电子表格文件格式,而 CSV (Comma Separated Values) 文件则是一种文本格式,用于存储表格数据。通常情况下,CSV 文件比 XLSX 文件更易于处理和读取,因为它可以被多种程序和编程语言快速解析。
在 Python 中,我们可以使用 openpyxl 库来读取和写入 XLSX 文件,使用 csv 库来读取和写入 CSV 文件。下面是将 XLSX 文件转换成 CSV 文件的详细步骤:
- 安装 openpyxl 和 csv 库:
pip install openpyxl
pip install csv
- 导入库:
import openpyxl
import csv
- 使用 openpyxl 库打开 XLSX 文件:
workbook = openpyxl.load_workbook('example.xlsx')
- 选择要读取的工作表:
sheet = workbook.active
如果要选择特定的工作表,可以使用以下代码:
sheet = workbook['Sheet1']
- 遍历工作表中的每一行,并将其写入 CSV 文件:
with open('example.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
for row in sheet.iter_rows():
writer.writerow([cell.value for cell in row])
在上面的代码中,我们使用 csv.writer() 方法将数据写入 CSV 文件中。请注意,open() 函数中的 newline=” 参数用于避免在写入文件时添加额外的空行。
- 完整代码示例:
import openpyxl
import csv
workbook = openpyxl.load_workbook('example.xlsx')
sheet = workbook.active
with open('example.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
for row in sheet.iter_rows():
writer.writerow([cell.value for cell in row])
注意事项:
- CSV 文件是以逗号分隔的文本文件,每一行表示数据的一条记录,每一列用逗号分隔。如果您要使用不同的分隔符,可以在 csv.writer() 函数中指定 delimiter 参数。
例如,如果您想使用制表符作为分隔符:
writer = csv.writer(csvfile, delimiter='\t')
- 在读取和写入文件时,请确保文件的编码格式与 Python 程序相同,避免出现乱码。
- 如果您的 XLSX 文件中包含多个工作表,请根据需要选择要读取的工作表。如果要读取所有的工作表,请使用 workbook.worksheets 属性。
- 在读取 XLSX 文件时,请确保您的 Python 版本和 openpyxl 版本兼容。建议使用最新的 openpyxl 版本。
- 在写入 CSV 文件时,请注意数据类型转换,例如将日期转换为字符串格式,避免写入 CSV 文件时出现错误。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。