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

如何用Python在Excel中选择全部列以适配动态列数?

解决方案
  • 选中全部列(包含无数据的空列)
    直接使用Excel支持的最大列范围"$A:$XFD"(Excel最多支持到XFD列,共16384列),替换后代码如下:

    import pandas as pd
    
    df = pd.DataFrame(...)  # 你的目标数据集
    writer = pd.ExcelWriter("File.xlsx", engine="xlsxwriter")
    df.to_excel(writer, sheet_name="Sheet", index=False)
    # 设置所有列宽度为10
    writer.sheets["Sheet"].set_column("$A:$XFD", 10)
    writer.close()
    
  • 仅设置有数据的列(更高效)
    如果只需要对实际有数据的列设置宽度,可以根据DataFrame的列数动态生成范围:

    1. 先实现列数转Excel列字母的工具函数
    2. 动态生成列范围并设置宽度
    import pandas as pd
    
    def col_num_to_letter(col_num):
        letter = ''
        while col_num > 0:
            col_num, remainder = divmod(col_num - 1, 26)
            letter = chr(65 + remainder) + letter
        return letter
    
    df = pd.DataFrame(...)  # 你的目标数据集
    writer = pd.ExcelWriter("File.xlsx", engine="xlsxwriter")
    df.to_excel(writer, sheet_name="Sheet", index=False)
    
    # 获取数据最后一列的对应字母
    last_col_letter = col_num_to_letter(df.shape[1])
    # 设置A到最后一列的宽度为10
    writer.sheets["Sheet"].set_column(f"A:{last_col_letter}", 10)
    
    writer.close()
    

内容的提问来源于stack exchange,提问作者Mr.Slow

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 11:55:26