在Jupyter上编码时在哪里上传csv然后读取它

时间:2019-07-04 01:05:53

标签: python upload repository jupyter

我需要在互联网上的某个地方上传一些CSV文件,以便以后可以使用read_csv在Jupyter中使用它。 有什么简单的方法可以做到这一点?

CSV包含一个数据库。我想将其上传到某个地方,并使用read_csv在Jupyter中使用它,以便其他人在向我发送文件时可以运行代码。

2 个答案:

答案 0 :(得分:1)

您可以使用任何云存储提供商,例如Dropbox或Google Drive。或者,您可以使用Github。

要在笔记本中执行此操作,请像通常导入本地文件一样导入pandas和read_csv。

import pandas as pd

url="https://raw.githubusercontent.com/cs109/2014_data/master/countries.csv"
c=pd.read_csv(url)

答案 1 :(得分:0)

  

CSV包含一个数据库。

由于CSV包含数据库,因此我不建议像Steven Kprevious answer所提到的那样,将其上传到Github。按照previous answer中的正确说明,将其上传到Google云端硬盘或Dropbox是一个更好的选择。

要从Google云端硬盘读取文件,您可以尝试以下操作:

  • 将文件上传到Google云端硬盘,然后点击“获取共享链接”,然后 确保知道链接的任何人都可以访问它。
  • 单击“复制”链接并获取与CSV关联的文件ID。 例如:如果这是URL https://drive.google.com/file/d/108ARMaD-pUJRmT9wbXfavr2wM0Op78mX/view?usp=sharing,则108ARMaD-pUJRmT9wbXfavr2wM0Op78mX是文件ID。

在以下示例代码中仅使用文件ID

import pandas as pd

gdrive_file_id = '108ARMaD-pUJRmT9wbXfavr2wM0Op78mX'
data = pd.read_csv(f'https://docs.google.com/uc?id={gdrive_file_id}&export=download', encoding='ISO-8859-1')

在这里,您正在向有权访问该链接的任何人开放CSV。更好和更受控制的方法是与已知人员共享访问权限,并使用PyDrive之类的库,该库是Google API的官方Python客户端的包装。

注意::由于您的问题未提及您使用的Python版本,因此我假设使用Python 3.6+,并在代码的第3行中使用了f-strings。如果您使用3.6之前的任何版本的Python,则必须使用format method来替换字符串中变量的值