Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >GCS -直接将中的文本文件读入python

GCS -直接将中的文本文件读入python
EN

Stack Overflow用户
提问于 2018-01-16 02:25:46
回答 5查看 80.5K关注 0票数 33

我现在觉得有点蠢。我一直在阅读大量的文档和堆叠溢出的问题,但我无法正确地理解。

我有一个关于谷歌云存储的文件。它是在一个桶‘测试_桶’。在这个桶中有一个文件夹,‘temp_ files _test.txt’,它包含两个文件,一个名为'test.txt‘的.csv文件和一个名为'test.csv’的.csv文件。这两个文件只是因为我尝试使用这两个文件,但是结果是相同的。

文件中的内容是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hej
san

我希望能把它读给蟒蛇听,就像我在当地人身上做的那样

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
textfile = open("/file_path/test.txt", 'r')
times = textfile.read().splitlines()
textfile.close()
print(times)

这给

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
['hej', 'san']

我试过用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from google.cloud import storage

client = storage.Client()

bucket = client.get_bucket('test_bucket')

blob = bucket.get_blob('temp_files_folder/test.txt')

print(blob.download_as_string)

但它提供了输出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<bound method Blob.download_as_string of <Blob: test_bucket, temp_files_folder/test.txt>>

如何获得文件中的实际字符串?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-01-16 02:37:58

download_as_string是一种方法,您需要调用它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print(blob.download_as_string())

更有可能的是,您希望将它赋值给一个变量,以便您只下载一次,然后打印它,并对它做任何您想做的事情:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
downloaded_blob = blob.download_as_string()
print(downloaded_blob)
do_something_else(downloaded_blob)
票数 39
EN

Stack Overflow用户

发布于 2020-07-29 06:51:48

方法'download_as_string()‘将以字节的形式读取内容。

下面是一个处理.csv文件的示例。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import csv
from io import StringIO

from google.cloud import storage

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

blob = bucket.blob(YOUR_FILE_NAME)
blob = blob.download_as_string()
blob = blob.decode('utf-8')

blob = StringIO(blob)  #tranform bytes to string here

names = csv.reader(blob)  #then use csv library to read the content
for name in names:
    print(f"First Name: {name[0]}")
票数 15
EN

Stack Overflow用户

发布于 2021-08-26 05:13:02

根据文档(https://googleapis.dev/python/storage/latest/blobs.html),在编写本文档(2021/08)时,download_as_string方法是download_as_byte方法的折旧别名,该方法按照名称的建议返回一个byte对象。

您可以使用download_as_text方法返回str对象。

对于实例,要从桶MYFILE下载文件MYBUCKET,并将其存储为utf-8编码的字符串:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from google.cloud.storage import Client
client = Client()
bucket = client.get_bucket(MYBUCKET)
blob = bucket.get_blob(MYFILE)
downloaded_file = blob.download_as_text(encoding="utf-8")

然后,您也可以使用它来读取不同的文件格式。对于json,将最后一行替换为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import json
downloaded_json_file = json.loads(blob.download_as_text(encoding="utf-8"))

对于yaml文件,将最后一行替换为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import yaml
downloaded_yaml_file = yaml.safe_load(blob.download_as_text(encoding="utf-8"))
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48279061

复制
相关文章
Eclipse设置断点触发的条件
特别是我们在做循环操作的时候,一堆的循环列表,但是只有某一个值出问题,一次次的循环调试起来很费劲,这个时候,我们可以给断点设置一个触发的条件,当达到这个条件的时候,才会触发此断点,设置方法如下:
飞奔去旅行
2019/06/13
1.2K0
Eclipse设置断点触发的条件
Postgresql中VDF触发LRU淘汰的条件
也就是说当: (vfd打开的数量nfile) + (其他路径直接调用fd.c接口打开文件数量numAllocatedDescs) 超过max_safe_fds时触发LRU淘汰。
mingjie
2022/05/12
4840
图解JVM实验-触发FullGC的几个条件
其中,参数-XX:PretenureSizeThreshold,参数要设置大对象阈值为3MB,也就是超过3MB,就直接进入老年代。
简熵
2023/03/06
4230
图解JVM实验-触发FullGC的几个条件
路由剔除的触发条件和核心代码
上面描述的触发点最终删除路由的逻辑是一样的,统一在RouteInfoManager#onChannelDestroy
用户8671053
2021/09/24
4250
BFC概念和作用,触发条件
1、概念,全称是block format context,块级格式化上下文 2、触发条件 根元素 float属性不为none  position为absolute或fixed  display为inline-block, table-cell, table-caption, flex, inline-flex overflow不为visible 3、应用场景 自适应两栏布局 <style> body { width: 300px; position: relative
windseek
2018/06/15
9320
“愚蠢”的useEffect
我有一个需求,需要监听一个window.xxx的变动,并在它变动的时候更新view。
爱吃大橘
2022/12/27
3090
PostgreSQL autovacuum 优化与调试 (1 触发 autovacuum 的条件)
PostgreSQL 的数据库系统中是需要进行autovacuum 进行表级别的数据清理的。在开始autovacuum 进行调优之前实际上是需要理解为什么需要autovacuum.
AustinDatabases
2021/10/14
1.7K0
PostgreSQL autovacuum 优化与调试 (1 触发 autovacuum 的条件)
ThinkPHP6之模型事件的触发条件
最近刚好用上模型事件,但手册上对事件的触发条件却没有详细的进行说明。那么,就只能自己进行测试了。
jwj
2022/05/18
8460
JVM 源码解读之 CMS GC 触发条件
经常有同学会问,为啥我的应用 Old Gen 的使用占比没达到 CMSInitiatingOccupancyFraction 参数配置的阈值,就触发了 CMS GC,表示很莫名奇妙,不知道问题出在哪?
涤生
2019/06/14
2.5K0
React源码中的useEffect
这里不再讲useLayoutEffect,它和useEffect的代码是一样的,区别主要是:
goClient1992
2022/12/02
9880
早读《A Complete Guide to useEffect》
https://overreacted.io/a-complete-guide-to-useeffect/
icepy
2019/12/18
7710
jvm触发full gc条件(Linux内存管理机制)
GC,即就是Java垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题。与C++不同的是,Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用。即:从gcroot开始,把所有可以搜索得到的对象标记为存活对象。缺点就是:1. 有可能不知不觉浪费了很多内存。2. JVM花费过多时间来进行内存回收。3. 内存泄露
全栈程序员站长
2022/07/28
2.7K0
jvm触发full gc条件(Linux内存管理机制)
spring注解@Conditional 按照一定的条件进行判断,满足条件给容器中注册bean
@Conditional({}) 按照一定的条件进行判断,满足条件给容器中注册bean * 在类上使用表示,满足条件会执行这个类,如果不满足则类中所有方法都不会加载 * 在方法上使用表示,满足条件会执行这个方法
全栈程序员站长
2022/11/17
2850
useLayoutEffect和useEffect的区别
大家面试的过程中有没有遇到过这样的问题呢,useLayoutEffect和useEffect的区别是什么,大家可能会回答useEffect是异步的,useLayoutEffect是同步的,这样回答面试官真的会满意慢,我们需要说清楚他们在源码中的调用时机。
长腿程序员165858
2022/12/19
4020
关于useEffect的一切
对于浏览器环境来说,只有渲染器会执行类似appendChild、insertBefore这样的DOM操作。
公众号@魔术师卡颂
2020/09/01
1.1K0
[答疑]迁移的警戒条件一定要完备不重叠吗
老师,这里说离开转换的条件要完备不重叠,那如果位置不在充电站就不做任何事,是不是就不用画两个条件了
用户6288414
2022/05/27
3250
[答疑]迁移的警戒条件一定要完备不重叠吗
useEffect与useLayoutEffect
useEffect与useLayoutEffect可以统称为Effect Hook,Effect Hook可以在函数组件中执行副作用操作,副作用是指函数或者表达式的行为依赖于外部环境,或者在这里可以理解为修改了某状态会对其他的状态造成影响,这个影响就是副作用,数据获取,设置订阅以及手动更改React组件中的DOM都属于副作用。
WindRunnerMax
2022/05/06
1.2K0
后台C++开发你一定要知道的条件变量
今天因为工作需要,需要帮同事用C语言(不是C++)写一个生产者消费者的任务队列工具库,考虑到不能使用任何第三库和C++的任何特性,所以我将任务队列做成一个链表,生产者在队列尾部加入任务,消费者在队列头部取出任务。很快就写好了,代码如下: /** * 线程池工具, ctrip_thread_pool.h * zhangyl 2018.03.23 */ #ifndef __CTRIP_THREAD_POOL_H__ #define __CTRIP_THREAD_POOL_H__ #include
范蠡
2018/04/04
7560
一文搞懂Y-GC和Full GC的触发条件
说明本次Y-GC后,可能升入老年代的对象大小超过老年代当前可用内存空间,此时必须先触发一次Old GC给老年代腾出空间,再执行Young GC。
JavaEdge
2022/01/26
4K0
点击加载更多

相似问题

防止useEffect在一定条件下触发

12

UseEffect只触发某些部分吗?

18

让useEffect监视一个条件,并且只触发一次

12

有条件地反应useEffect触发器

12

在循环中响应useEffect调用-只触发最终效果

26
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文