您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何从* .xlsm中提取工作表并将其另存为Python中的* .csv?

如何从* .xlsm中提取工作表并将其另存为Python中的* .csv?

xlrd在xlsm文件上也应该可以正常工作。我用一个随机的xlsm文件测试了代码,它运行良好。

import csv
import xlrd

workbook = xlrd.open_workbook('test.xlsx')
for sheet in workbook.sheets():
    with open('{}.csv'.format(sheet.name), 'wb') as f:
        writer = csv.writer(f)
        writer.writerows(sheet.row_values(row) for row in range(sheet.nrows))

如果您遇到编码问题,请尝试以下代码

import csv
import xlrd

workbook = xlrd.open_workbook('test.xlsm')
for sheet in workbook.sheets():
    if sheet.name == "Sheet_name_from_xlsm_file":
        with open('{}.csv'.format(sheet.name), 'wb') as f:
            writer = csv.writer(f)
            for row in range(sheet.nrows):
                out = []
                for cell in sheet.row_values(row):
                    try:
                        out.append(cell.encode('utf8'))
                    except:
                        out.append(cell)
                writer.writerow(out)
python 2022/1/1 18:39:30 有268人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶