无需保存,如何在Excel中查看Pandas的DataFrame?
无需保存即可在Excel查看Pandas DataFrame的方法
方法1:直接复制到剪贴板
Pandas自带剪贴板方法,一行代码就能把DataFrame复制到系统剪贴板,之后直接在Excel里粘贴即可,比手动复制变量浏览器内容更高效:
import pandas as pd df = pd.DataFrame({'a' : [1,2,3], 'b': [10,20,30]}) df['c'] = df['a'] + df['b'] df['d'] = 'test' df2 = df.sort_values('a', ascending = False) # 复制DataFrame到剪贴板(index=False可避免复制行索引) df2.to_clipboard(index=False)
执行代码后,打开空白Excel按Ctrl+V就能看到格式化后的表格。
方法2:用pywin32直接调用Excel生成表格
如果不想手动粘贴,可以用pywin32库直接唤起Excel并写入数据,全程无需保存文件:
先安装依赖库:
pip install pywin32
再运行以下代码:
import pandas as pd import win32com.client as win32 df = pd.DataFrame({'a' : [1,2,3], 'b': [10,20,30]}) df['c'] = df['a'] + df['b'] df['d'] = 'test' df2 = df.sort_values('a', ascending = False) # 启动Excel并显示窗口 excel = win32.gencache.EnsureDispatch('Excel.Application') excel.Visible = True wb = excel.Workbooks.Add() ws = wb.ActiveSheet # 写入表头 for col_num, col_name in enumerate(df2.columns, 1): ws.Cells(1, col_num).Value = col_name # 写入数据行 for row_num, row_data in enumerate(df2.values, 2): for col_num, value in enumerate(row_data, 1): ws.Cells(row_num, col_num).Value = value
执行后会自动打开Excel并生成包含df2内容的工作表。
方法3:Spyder IDE内置快捷操作
你正在使用的Spyder有更简便的操作:在变量浏览器找到df2,右键点击选择**"Copy to clipboard",直接去Excel粘贴即可;也可以右键选择"View DataFrame"**,在弹出的查看窗口点击工具栏的复制按钮,快速复制整表。
内容的提问来源于stack exchange,提问作者user3685918
相关产品推荐
相关产品推荐

