如何将数据框从iPython复制/粘贴到Google工作表或Excel中?

2024-04-27 13:38:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近一直在使用iPython(又名Jupyter)进行数据分析和一些机器学习。但一个令人头疼的问题是将笔记本应用程序(浏览器)中的结果复制到Excel或Google表单中,这样我就可以操作结果或与不使用iPython的人共享结果。

我知道如何将结果转换为csv并保存。但之后我必须翻阅我的电脑,打开结果并将它们粘贴到Excel或Google表格中。那要花太多时间。

仅仅突出显示一个结果数据框和复制/粘贴通常会完全弄乱格式,导致列溢出。(更不用说在iPython中打印时长结果数据帧被截断的问题了。)

如何轻松地将iPython结果复制/粘贴到电子表格中?


Tags: csv数据机器应用程序表单粘贴ipythongoogle
3条回答

如果你能使csv或html可用,并且可以通过url访问,你可以在google工作表中使用它。

=IMPORTDATA("url to the csv/html file")

尝试使用to_clipboard()方法。E、 例如,对于一个数据帧,df:df.to_clipboard()会将所述数据帧复制到剪贴板。然后可以将其粘贴到Excel或Google文档中。

根据我的经验,电子表格使用制表符(\t)分隔单元格,使用换行符(\n)分隔行。

假设我写了一个简单的函数来从剪贴板数据转换:

def from_excel_to_list(copy_text):
    """Use it to copy and paste data from SpreadSheet software
    (MS Excel, Libreoffice) and convert to a list
    """
    if isinstance(copy_text, str):
        array = []
        rows = copy_text.split("\n")  # splits rows
        for row in rows:
            if len(row):  # removes empty lines
                array.append(row.split("\t"))
        return array
    else:
        raise TypeError("text must be string")

您可以在Jupiter中定义函数,并以这种方式使用它:

在电子表格上用ctrl-c复制,然后调用函数from_excel_to_list用ctrl-v在双括号内粘贴数据

my_excel_converted = from_excel_to_list("""Paste here with ctrl-v the text""")

示例

来自ctrl-c的数据:

N   U   tot
1   18,236  18,236
17  20,37   346,29
5   6,318   31,59

调用函数:

from_excel_to_list("""N U   tot
1   18,236  18,236
17  20,37   346,29
5   6,318   31,59
""")

木星的结果:

[['N', 'U', 'tot'],
 ['1', '18,236', '18,236'],
 ['17', '20,37', '346,29'],
 ['5', '6,318', '31,59']]

这是进一步阐述的基础。 同样的方法也可以用于获取字典、namedtuple等。

相关问题 更多 >