求助:用Python pandas计算结果经tabulate整理后存入Excel无法打开
问题原因
你犯了一个基础错误:把纯文本内容直接写入了后缀为.xlsx的文件。.xlsx是Excel专属的二进制格式文件,并非纯文本格式,所以Excel无法识别这种“伪装”的xlsx文件;而文本编辑器只读取文件的纯文本内容,所以能正常显示。
解决办法
根据你的需求,有几种可行方案:
方案1:直接用pandas导出标准xlsx文件(推荐)
既然你已经用pandas完成了计算,直接用pandas内置的to_excel方法导出即可,生成的是Excel能正常识别的标准格式:
# 假设result是pandas的DataFrame对象 result.to_excel('Company.xlsx', index=False)
如果没有安装pandas导出xlsx依赖的库,先执行安装命令:
pip install openpyxl
方案2:保存为纯文本/CSV文件
如果你想保留tabulate的格式化样式:
- 保存为纯文本文件(后缀改为.txt):
with open('Company.txt', 'w', encoding='utf-8') as writer: writer.write(tabulate(result)) - 保存为CSV文件(Excel可直接打开),让tabulate输出CSV格式:
with open('Company.csv', 'w', encoding='utf-8') as writer: writer.write(tabulate(result, tablefmt='csv'))
内容的提问来源于stack exchange,提问作者Frost_
相关产品推荐
相关产品推荐

