Python 3.x 如何从谷歌云将数据加载到jupyter笔记本虚拟机?

Python 3.x 如何从谷歌云将数据加载到jupyter笔记本虚拟机?,python-3.x,jupyter-notebook,google-cloud-storage,Python 3.x,Jupyter Notebook,Google Cloud Storage,我正试图将谷歌云上存储的一堆csv文件加载到我的jupyter笔记本中。我使用Python3,gsutil不起作用 假设我在“\bucket1\1”中有6.csv文件。有人知道我应该做什么吗?您正在谷歌云虚拟机实例上运行。并且您希望将6.csv文件(您当前在云存储中的文件)加载到其中 安装依赖项: pip install google-cloud-storage pip install pandas 在笔记本上运行以下脚本: from google.cloud import storage i

我正试图将谷歌云上存储的一堆csv文件加载到我的jupyter笔记本中。我使用Python3,
gsutil
不起作用

假设我在“\bucket1\1”中有6.csv文件。有人知道我应该做什么吗?

您正在谷歌云虚拟机实例上运行。并且您希望将6.csv文件(您当前在云存储中的文件)加载到其中

安装依赖项:

pip install google-cloud-storage
pip install pandas
在笔记本上运行以下脚本:

from google.cloud import storage
import pandas as pd

bucket_name = "my-bucket-name"

storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name)

# When you have your files in a subfolder of the bucket.
my_prefix = "csv/" # the name of the subfolder
blobs = bucket.list_blobs(prefix = my_prefix, delimiter = '/')

for blob in blobs:
    if(blob.name != my_prefix): # ignoring the subfolder itself 
        file_name = blob.name.replace(my_prefix, "")
        blob.download_to_filename(file_name) # download the file to the machine
        df = pd.read_csv(file_name) # load the data
        print(df)

# When you have your files on the first level of your bucket

blobs = bucket.list_blobs()

for blob in blobs:
    file_name = blob.name
    blob.download_to_filename(file_name) # download the file to the machine
    df = pd.read_csv(file_name) # load the data
    print(df)
注:

  • 是在python中处理数据分析时使用的良好依赖项,因此它将使您更容易使用csv文件

  • 该代码包含两个备选方案:一个是如果子文件夹中有对象,另一个是如果第一级有对象,则使用适用于您的案例的方案

  • 代码在所有对象之间循环,因此如果其中有其他类型的对象,则可能会出现错误

  • 如果您运行笔记本的计算机上已经有文件,那么您可以忽略Google云存储行,只需在“read_csv”方法中指定每个文件的根/相对路径

  • 有关列出云存储对象和下载云存储对象的更多信息,请转到


另一种将文件从存储桶直接下载到Jupyter笔记本的方法如下:

from google.cloud import storage
import pandas as pd
df = pd.read_csv('gs://name-of-your-bucket/path-to-your-file/name-of-your-file.csv', sep=",")

因此,在这里,您还可以使用pandas库,通过“gs://…”直接指定您在谷歌云存储中的文件路径。

您是否在普通虚拟机上安装了Jupyter,您是在使用安装了Jupyter的深度学习虚拟机,还是在使用谷歌云数据实验室(Google的Jupyter超集)?在定义了我的实例之后,我点击了它的SSH并在控制台中输入了以下代码:
jupyter笔记本--ip=0.0.0.0--port=8888--no browser&
这产生了一个密钥,当我想在我的浏览器上登录jupyter时,我使用了该密钥谢谢您的代码。让我解释一下情况。我使用的是在谷歌云上运行的jupyter笔记本电脑。换句话说,我正在使用谷歌云计算。我也有我的数据文件(六个csv文件)在我的本地机器和谷歌云上。我想做的是,我想访问这些数据文件,用我在谷歌云上的jupyter笔记本处理它们。一种方法是“更新”文件,但它们太大了!我正在寻找一种更具python风格的方式来访问这些文件。让我看看我是否理解正确:您正在Google Cloud VM实例上运行Jupyter。您的本地计算机和谷歌云存储上都有这些文件。您希望能够加载在VM上运行的笔记本上的文件。我对我的答案进行了编辑,以融入一种更具Python风格的方式。