当前位置: 首页 > 面试题库 >

如何将Excel工作表另存为CSV

竺鸿骞
2023-03-14
问题内容

我想编写一个Python脚本,该脚本读取Excel电子表格并将其某些工作表另存为CSV文件。

我怎样才能做到这一点?

我已经找到了用于从Python读取和写入Excel文件的第三方模块,但据我所知,它们只能以Excel(即* .xls)格式保存文件。如果我错了,那么一些示例代码将展示如何使用这些模块进行操作。

我还遇到了一个我不太了解的解决方案,但该解决方案似乎特定于Windows,因此无论如何都无济于事,因为我想在Unix中进行此操作。无论如何,对我来说还不清楚是否可以扩展此解决方案以执行我想做的事情,即使在Windows下也是如此。


问题答案:

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

  1. 打开xls工作簿
  2. 引用第一个电子表格
  3. 用二进制打开写入目标csv文件
  4. 创建默认的csv writer对象
  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.get_active_sheet()
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])


 类似资料:
  • 问题内容: 我有一个带有源文件路径的字符串和另一个带有destfile路径的字符串,它们都指向Excel工作簿。 我想获取源文件的第一张纸并将其作为新选项卡复制到destfile(与destfile中的位置无关),然后保存它。 在or或or中找不到简单的方法。我想念什么吗? 问题答案: 解决方案1 使用该软件包的仅Python解决方案。仅数据值将被复制。 解决方案2 使用该程序包将复制操作委派给E

  • 2)有没有一种方法可以让。value=.value与数据透视表一起使用?在以前的宏中,这从来没有与数据透视一起使用过,所以我必须使用复制和粘贴,如下所示。 非常感谢您的帮助!

  • 我知道如何复制工作表,但这将导致多个工作表。我需要的是一个输出工作表,一个接一个地包含所有的工作表。 目前我正在做的是将每个工作表导出为< code>DataTable,然后逐个导入: 但这样,我就失去了单元格样式和文本格式 有没有办法用保留样式?

  • 我已经从网上搜索了很多,但不幸的是,没有一个奏效。如何将工作表从一个工作簿复制到另一个工作簿,使用C#在Excel中剪切和粘贴单元格值,错误:range类的Pastespecial方法失败。 知道为什么会这样吗?

  • 所以我有 1500 个 Excel 工作簿,每个工作簿都有 10 张结构完全相同的工作表。我尝试将多个Excel工作簿合并到一个文件中,并使用以下代码成功: 谢谢,努尔贝克

  • 问题内容: 我有几个要转储为excel工作簿(xls / xlsx)中新工作表的csv文件。我该如何实现? Google搜索并找到“ pyXLwriter”,但该项目似乎已停止。当我尝试“ pyXLwriter”时,我想知道是否有其他选择/建议/模块? 非常感谢。 [编辑] 这是我的解决方案:(任何人都有更精简的pythonic解决方案?请发表评论。thx) 问题答案: 不知道 您 所说的“更精简