gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 00:07:11 25 4
gpt4 key购买 nike

我有一个 *.xlsm 文件,里面有 20 张。我想将几张纸单独保存为 *.csv(格式化丢失很好)。已经尝试过 xlrd-xlwt 和 win32com 库,但无法通过。任何人都可以提供一个用 Python 进行上述处理的代码片段吗?我有其他 python 依赖项,所以没有其他语言可以工作。谢谢

最佳答案

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 - 如何从 *.xlsm 中提取工作表并将其保存为 Python 中的 *.csv?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23554808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com