我想编写一个Python脚本,该脚本在Excel电子表格中读取并将其某些工作表另存为CSV文件.
I want to write a Python script that reads in an Excel spreadsheet and saves some of its worksheets as CSV files.
我该怎么做?
我发现第三方模块可用于从Python读取和写入Excel文件,但到目前为止据我所知,它们只能以Excel(即* .xls)格式保存文件.如果我在这里错了,那么一些示例代码将展示如何使用这些模块执行我想做的事情.
I have found third-party modules for reading and writing Excel files from Python, but as far as I can tell, they can only save files in Excel (i.e. *.xls) format. If I'm wrong here, some example code showing how to do what I'm trying to do with these modules would be appreciated.
我还遇到了一个我不太了解的解决方案,但似乎是Windows特有的,因此无论如何也无济于事,因为我想在Unix中进行此操作.无论如何,对我来说还不清楚是否可以扩展此解决方案以执行我想做的事情,即使在Windows下也是如此.
I also came across one solution that I can't quite understand, but seems to be Windows-specific, and therefore would not help me anyway, since I want to do this in Unix. At any rate, it's not clear to me that this solution can be extended to do what I want to do, even under Windows.
推荐答案使用这两个库的最基本示例逐行描述:
The most basic examples using the two libraries described line by line:
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])
更多推荐
如何将Excel工作表另存为CSV
发布评论