我想编写一个 Python 脚本来读取 Excel 电子表格并将其中的一些工作表保存为 CSV 文件。
我该怎么做?
我找到了third-party modules用于从 Python 读取和写入 Excel 文件,但据我所知,它们只能以 Excel(即 *.xls)格式保存文件。如果我在这里错了,将不胜感激一些示例代码,说明如何使用这些模块执行我正在尝试执行的操作。
我也遇到了one solution我不太明白,但似乎是特定于 Windows 的,因此无论如何都不会帮助我,因为我想在 Unix 中这样做。无论如何,我不清楚这个解决方案是否可以扩展为我想做的事情,即使在 Windows 下也是如此。
最佳答案
使用逐行描述的两个库的最基本示例:
- 打开 xls 工作簿
- 引用第一个电子表格
- 以二进制方式打开写入 objective-c sv文件
- 创建默认的 csv 写入器对象
- 遍历第一个电子表格的所有行
- 将行转储到 csv 中
import xlrd
import csv
with xlrd.open_workbook('a_file.xls') as wb:
sh = wb.sheet_by_index(0) # or wb.sheet_by_name('name_of_the_sheet_here')
with open('a_file.csv', 'wb') as f: # open('a_file.csv', 'w', newline="") for python 3
c = csv.writer(f)
for r in range(sh.nrows):
c.writerow(sh.row_values(r))
import openpyxl
import csv
wb = openpyxl.load_workbook('test.xlsx')
sh = wb.active
with open('test.csv', 'wb') as f: # open('test.csv', 'w', newline="") for python 3
c = csv.writer(f)
for r in sh.rows:
c.writerow([cell.value for cell in r])
关于python - 如何将 Excel 工作表另存为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10802417/