iPi*_*ate 6 python csv excel spreadsheet xlsm
我有一个*.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))
Run Code Online (Sandbox Code Playgroud)
如果您遇到编码问题,请尝试以下代码:
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11629 次 |
| 最近记录: |