Running0 2020-01-09 20:48 采纳率: 50%
浏览 865

python pd.merge()合并后的DataFrame无法输出到excel表

代码:
import pandas as pd
from pandas import DataFrame
df3 = DataFrame({'key1': ['one', 'two', 'three', 'two'],
'key2': ['two', 'three', 'one', 'one'],
'data': [1, 2, 3, 4]})
df4 = DataFrame({'key1': ['two', 'two', 'three'],
'key2': ['one', 'two', 'one'],
'data': [1, 2, 3]})
data = pd.merge(df3, df4, on=['key1', 'key2'], how='outer')
print(data)
data.to_excel('D:\01.xls', na_rep=None)

结果:
key1 key2 data_x data_y
0 one two 1.0 NaN
1 two three 2.0 NaN
2 three one 3.0 3.0
3 two one 4.0 1.0
4 two two NaN 2.0
Traceback (most recent call last):
File "D:/python项目/02.py", line 232, in
data.to_excel('D:\01.xls', na_rep=None)
File "F:\python\lib\site-packages\pandas\core\generic.py", line 2256, in to_excel
engine=engine,
File "F:\python\lib\site-packages\pandas\io\formats\excel.py", line 742, in write
writer.save()
File "F:\python\lib\site-packages\pandas\io\excel_xlwt.py", line 32, in save
return self.book.save(self.path)
File "F:\python\lib\site-packages\xlwt\Workbook.py", line 710, in save
doc.save(filename_or_stream, self.get_biff_data())
File "F:\python\lib\site-packages\xlwt\CompoundDoc.py", line 262, in save
f = open(file_name_or_filelike_obj, 'w+b')
OSError: [Errno 22] Invalid argument: 'D:\x01.xls'

为什么会报错呢?两个DataFrame使用merge方法合并后不是变成一个DataFrame了吗,为什么使用to_excel方法会出现错误?

  • 写回答

1条回答 默认 最新

  • sun0128 2020-01-10 10:31
    关注

    不是merge出错,是存入excel时你的参数写错了。OSError: [Errno 22] Invalid argument: 'D:\x01.xls'

    把下面这行改成
    data.to_excel('D:\01.xls', na_rep=None)

    data.to_excel('01.xls', na_rep=None)
    或者
    .data.to_excel(r'D:\01.xls', na_rep=None)

    评论

报告相同问题?

悬赏问题

  • ¥15 vc6.0中想运行代码的时候总是提示无法打开文件是怎么回事
  • ¥25 关于##爬虫##的问题,如何解决?:
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题