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 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流