我的目标是编写python脚本,该脚本使用gridfs读取文本文件。 并逐行进行迭代。 当我使用gridfs.get()时,注意到我在每次迭代中都得到了大块字节。请您指导我如何用“ 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:
.....
答案 0 :(得分:0)
能够使用“ GridFSBucket”和“ open_download_stream”来实现这一目标。
下面是示例代码:-
file_store = GridFSBucket(mongo.db,bucket_name =)
file_handler = file_store.open_download_stream(object_id)
eachline = file_handler.readline() 而每行: ....过程 eachline = file_handler.readline()