You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将XLSM文件指定前15列范围的数据转换为CSV格式

需求可行性

该需求完全可以实现,仅需要对你的现有代码做少量调整即可。

调整方案

你当前的代码会读取工作表每行的所有列内容写入CSV,只需要对每行的单元格列表做前15位的切片,就能过滤掉不需要的后续列数据。

优化后完整代码

import openpyxl as ox
import csv

# 读取xlsm文件,不需要执行宏的话默认参数即可正常读取内容
wb = ox.load_workbook('C:/Quebras.xlsm')
ws = wb['Quebras']

# 使用with上下文管理器管理文件句柄,避免资源泄漏
# 指定newline=''避免Windows下写入csv出现多余空行
# 指定encoding='utf-8-sig'兼容Excel直接打开、避免中文乱码
with open('C:/Quebras.csv', 'w', newline='', encoding='utf-8-sig') as f:
    csv_writer = csv.writer(f)
    for row in ws.rows:
        # 切片取前15个单元格的内容写入,仅保留前15列
        csv_writer.writerow([cell.value for cell in row[:15]])

可选优化

如果你的xlsm文件体积较大,读取速度较慢,可以给load_workbook方法添加read_only=True参数,开启只读模式提升读取效率:

wb = ox.load_workbook('C:/Quebras.xlsm', read_only=True)

内容的提问来源于stack exchange,提问作者karek77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:36:04