python - 将数据框保存到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)
解决方案
我稍后会回复,但它可能对某人有帮助
您可以尝试使用ExcelWriter
,注意包含.close()
实际保存文件的 。事实上,正如文档报告的那样, “编写器应该用作上下文管理器。否则,调用 close() 来保存和关闭任何打开的文件句柄。”
import pandas as pd
writer = pd.ExcelWriter('your_filename.xlsx'))
df.to_excel(writer, sheet_name='your_sheet_name')
writer.save()
推荐阅读
- python - 如何在鼠标所在的地方转动精灵
- elasticsearch - 弹性搜索中的“标准”类型
- c# - 我不知道如何从 'float' 转换为 'int'
- android - 如何修复 android studio 中的 getWritableDatabase() 错误?
- php - Mysql IN(1,2,3) 运算符正在获取与 1 匹配的数据
- php - 用php重复合并或组合一个数组中的N(6)行文本
- objective-c - 如何修复“架构 x86_64 的未定义符号”委托
- c++ - 为什么在 EventWrite 函数调用成功后我有空的 Windows 日志
- c# - PostAsJsonAsync .Net 4.0 的超时问题
- javascript - 如何将数据从 csv 文件或 excel 文件导出到 javascript 对象?