我想写一个Python脚本,读取Excel电子表格,并将其中的一些工作表保存为CSV文件。
我该怎么做?
我发现third-party modules可以从Python中阅读和写入Excel文件,但据我所知,它们只能将文件保存在Excel中(即 *.xls)格式。如果我错了,请提供一些示例代码来说明如何使用这些模块。
我还遇到了one solution,我不能完全理解,但似乎是Windows特定的,因此无论如何都不会帮助我,因为我想在Unix中这样做。无论如何,我不清楚这个解决方案是否可以扩展到做我想做的事情,即使是在Windows下。
5条答案
按热度按时间neekobn81#
最基本的例子使用两个库逐行描述:
1.打开xls工作簿
1.参考第一个电子表格
1.以二进制方式打开并写入目标csv文件
1.创建默认的csv编写器对象
1.循环遍历第一个电子表格的所有行
1.将行转储到csv中
5n0oy7gb2#
使用
pandas
会更短一些:2skhul333#
截至2021年12月和Python 3:
openpyxl
API已经发生了很大的变化(参见https://openpyxl.readthedocs.io/en/stable/usage.html),我已经通过@Boud(现在是@Zeugma?),具体如下:@Leonid提出了一些有用的意见-特别是:
csv.writer
提供了一些额外的选项,例如自定义分隔符:高温加热
6rvt4ljy4#
使用
xlrd
或openpyxl
模块分别读取xls或xlsx文档,使用csv
模块进行写入。或者,如果使用Jython,您可以使用Apache POI库来读取
.xls
或.xlsx
,并且本机CSV模块仍然可用。ojsjcaue5#
首先将Excel电子表格读入Pandas。下面的代码将您的Excel电子表格导入到Pandas作为
OrderedDict
,其中包含您的所有工作表作为DataFrames
。然后,只需使用worksheet_name
作为键来访问特定的工作表作为DataFrame
,并使用df.to_csv()
仅将所需的工作表保存为csv
文件。希望这将在您的情况下工作。