Mor*_*itz 2 python jupyter-notebook
我编写了一个 python 脚本来从我的 Gmail 帐户获取数据,并将其作为 pandas 数据框导入到 Jupyter 笔记本中。该笔记本称为“Automation via Gmail API”,数据帧简称为“df”。现在我想使用这个 df 通过 Google Sheets API 更新 Google Sheet。为此,我创建了另一个笔记本 - “通过 Sheets API 实现自动化”。但是如何在“Automation via Sheets API”笔记本中访问 df 呢?显然,Jupyter 提供了一些将笔记本加载到另一个笔记本中的功能。我只是将“笔记本加载器”的代码复制并粘贴到我的表格笔记本中,只更改了“路径”和“全名”,但它不起作用,我不知道为什么:
#Load df from the "Automation via Gmail API" notebook.
fullname = "Automation via Gmail API.ipynb"
class NotebookLoader(object):
"""Module Loader for Jupyter Notebooks"""
def __init__(self, path="C:\\Users\\Moritz Wolff\\Desktop\\gmail automatisierung\\Gmail API"):
self.shell = InteractiveShell.instance()
self.path = path
def load_module(self, fullname="Automation via Gmail API.ipynb"):
"""import a notebook as a module"""
path = find_notebook(fullname, self.path)
[...]
Run Code Online (Sandbox Code Playgroud)
没有错误消息。我的策略从一开始就有缺陷还是我只是错过了一些细节?任何帮助表示赞赏。
直接的选择是将数据框保存为原始笔记本中的文本表并将其读入另一个笔记本中。除了纯文本之外,您还可以将数据帧本身保存为序列化的 Python,以提高效率/便利性。
源笔记本中的选项:
df.to_csv('example.tsv', sep='\t') # add `, index = False` to leave off index
# -OR-
df.to_pickle("file_name.pkl")
Run Code Online (Sandbox Code Playgroud)
阅读笔记本的选项:
import pandas as pd
df = pd.read_csv('example.tsv', sep='\t')
#-OR-
df = pd.read_pickle("file_name.pkl")
Run Code Online (Sandbox Code Playgroud)
我使用制表符分隔的表格文本结构,但欢迎您使用逗号分隔。
| 归档时间: |
|
| 查看次数: |
8003 次 |
| 最近记录: |