python - 如何将 Excel 工作表另存为 CSV

标签 python excel csv

我想编写一个 Python 脚本来读取 Excel 电子表格并将其中的一些工作表保存为 CSV 文件。

我该怎么做?

我找到了third-party modules用于从 Python 读取和写入 Excel 文件,但据我所知,它们只能以 Excel(即 *.xls)格式保存文件。如果我在这里错了,将不胜感激一些示例代码,说明如何使用这些模块执行我正在尝试执行的操作。

我也遇到了one solution我不太明白,但似乎是特定于 Windows 的,因此无论如何都不会帮助我,因为我想在 Unix 中这样做。无论如何,我不清楚这个解决方案是否可以扩展为我想做的事情,即使在 Windows 下也是如此。

最佳答案

使用逐行描述的两个库的最基本示例:

  1. 打开 xls 工作簿
  2. 引用第一个电子表格
  3. 以二进制方式打开写入 objective-c sv文件
  4. 创建默认的 csv 写入器对象
  5. 遍历第一个电子表格的所有行
  6. 将行转储到 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/

相关文章:

python - Django : Define DateTimeField default value as None or blank field

python - 在 python 中将百分位分布显示为数据框

vba - Excel VBA - 数据透视表筛选器运行时错误 '1004' 数据透视项

excel - 带有电源查询的 POST 请求未返回所需的结果

php - 循环遍历 CSV 不会在 MySQL 中添加带有特殊字符的字符串

python - 在python中显式传递函数

python - ElasticSearch地理距离查询

java - java excel 提取器的问题

mysql - 从 csv 导入到 mysql 时执行命令期间遇到 fatal error

iPhone,在沙箱中写入csv文件