首页 > 解决方案 > 将数据框保存到excel后,我无法打开excel文件

问题描述

我创建了数据框,并使用df.to_excel('test.xlsx', index=False). 我可以在本地目录中看到我的 python 代码生成的 excel 文件,但问题是我无法用 excel 打开它。

我还在engine='xlsxwriter'. df.to_excel('test.xlsx', index=False)因此我尝试 df.to_excel('test.xlsx', index=False, engine='xlsxwriter')了,但没有成功。

import pandas as pd
import numpy as np

df = pd.read_csv('123.tsv', sep='\t')
df['M'] = df['M'].astype(str)
m = df.M.str.split(',', expand=True).values.ravel()
df = df.dropna()
df = df[~df.M.str.contains("@")]
df = df.drop_duplicates()
df.to_excel('123.xlsx', index=False, engine='xlsxwriter')

预期结果:只想在 excel 中打开 123.xlsx

实际结果:

Excel 无法打开文件“123.xlsx”,因为文件格式或文件扩展名无效。验证文件没有损坏并且文件扩展名与文件格式匹配。(Mac Excel 2016)

标签: pythonexcelpandasdataframe

解决方案


我稍后会回复,但它可能对某人有帮助

您可以尝试使用ExcelWriter,注意包含.close()实际保存文件的 。事实上,正如文档报告的那样, “编写器应该用作上下文管理器。否则,调用 close() 来保存和关闭任何打开的文件句柄。”

import pandas as pd

writer = pd.ExcelWriter('your_filename.xlsx'))
df.to_excel(writer, sheet_name='your_sheet_name')
writer.save()

推荐阅读