You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在非Google Cloud服务器用Python读取GCS公开CSV文件?

解决Google Cloud Storage读取共享CSV的项目未指定错误

嘿,我来帮你搞定这个问题!你遇到的Project was not passed错误,核心原因是默认的storage.Client()必须关联一个GCP项目,但你没有项目,而且你要读取的是已共享的文件,完全没必要走常规的认证流程。另外你的代码里还有个小错误,我一起帮你修正:

首先修正两个关键问题

  • Bucket名称参数错误:get_bucket()的参数应该是bucket的实际名称,不是路径格式。比如如果你的文件在名为stats的bucket里,文件路径是installs/installs_overview.csv,那bucket名就是stats,不是/stats/installs。
  • 使用匿名客户端:因为没有GCP项目,且文件是共享可访问的,直接用匿名客户端就能免认证访问。

修正后的完整代码

from google.cloud import storage

# 创建无需认证的匿名客户端,不需要GCP项目
client = storage.Client.create_anonymous_client()

# 替换成你的实际bucket名称
bucket = client.get_bucket("stats")

# 替换成文件在bucket内的完整路径(包含前缀目录)
blob = bucket.blob("installs/installs_overview.csv")

# 下载内容并解码为可读的字符串
content = blob.download_as_string().decode('utf-8')
print(content)

额外注意事项

  • 确保你的CSV文件是公开可读的:可以直接在浏览器打开 https://storage.googleapis.com/<你的bucket名>/<文件路径>,如果能正常下载或查看,说明文件权限符合要求,匿名客户端就能访问。
  • 如果文件是通过IAM共享给特定用户(非公开),那你还是需要获取对应服务账号的密钥文件,设置环境变量GOOGLE_APPLICATION_CREDENTIALS指向该文件,但这种情况你可能需要有相关项目权限,和你说的“并无项目”情况不太匹配,所以优先按公开共享场景处理。

内容的提问来源于stack exchange,提问作者PepeVelez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:24:29