我的目标是编写python脚本,它使用gridfs读取文本文件。然后逐行迭代通过它。当我使用gridfs.get()时,注意到我在每个iteration.Can中都得到了字节块,请您指导我如何使用"get“逐行迭代。
我能够做到这一点,方法是使用GridFsBucket并将数据存储在临时文件中,然后以读取模式再次打开以逐行迭代。寻找一个更好的方法来处理这件事。
file_store = GridFSBucket(db)
file = open('test.txt', 'wb')
file_store.download_to_stream(raw_file[0].get('ObjectId'),file)
if not file:
return None
file.close()
file=open('test.txt','rb')
for line in file:
.....发布于 2018-08-16 13:11:37
可以使用GridFSBucket和open_download_stream来实现这一点。
以下是示例代码:
file_store = GridFSBucket(mongo.db, bucket_name=<fs CollectionName>)
file_handler = file_store.open_download_stream(object_id)
eachline=file_handler.readline()
while eachline:
.........processss
eachline = file_handler.readline() https://stackoverflow.com/questions/51781803
复制相似问题