如何将数据批量上传到 Google App Engine 数据存储区?
我有大约 4000 条记录需要上传到数据存储区。
它们目前采用 CSV 格式。 如果有人愿意,我将不胜感激 向我指出或解释如何将数据批量上传到 GAE。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我有大约 4000 条记录需要上传到数据存储区。
它们目前采用 CSV 格式。 如果有人愿意,我将不胜感激 向我指出或解释如何将数据批量上传到 GAE。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
您可以使用 bulkloader.py 工具:
You can use the bulkloader.py tool:
我没有完美的解决方案,但我建议您尝试使用 App Engine 控制台。 App Engine Console 是一个免费插件,可让您在生产环境中运行交互式 Python 解释器。 它对于一次性数据操作(例如初始数据导入)很有帮助,原因如下:
我建议如下:
csv
模块来分割数据,直到获得有用的数据结构列表(很可能是列表列表或类似内容)for
循环,迭代列表中的每个数据结构:您应该发现,经过 #5 一次迭代后,您可以复制和粘贴,或者编写简单的函数来加速导入任务。 此外,通过在步骤 5.1 和 5.2 中获取和处理数据,您可以慢慢来,直到确定数据完美为止。
(请注意,App Engine 控制台目前在 Firefox 上运行效果最佳。)
I don't have the perfect solution, but I suggest you have a go with the App Engine Console. App Engine Console is a free plugin that lets you run an interactive Python interpreter in your production environment. It's helpful for one-off data manipulation (such as initial data imports) for several reasons:
I suggest something like the following:
csv
module to chop up your data until you have a list of useful data structures (most likely a list of lists or something like that)for
loop, iterating through each each data structure in the list:You should find that after one iteration through #5, then you can either copy and paste, or else write simple functions to speed up your import task. Also, with fetching and processing your data in steps 5.1 and 5.2, you can take your time until you are sure that you have it perfect.
(Note, App Engine Console currently works best with Firefox.)
通过使用远程 API 和对多个实体的操作。 我将使用 python 在 NDB 上展示一个示例,其中我们的 Test.csv 包含以下用分号分隔的值:
首先我们需要导入模块:
然后我们需要创建远程 api 存根:
有关使用远程 api 的更多信息,请查看此答案。
然后是主要代码,它基本上执行以下操作:
主要代码:
put_multi 操作还负责确保在单个 HTTP POST 请求中批处理适当数量的实体。
查看此文档以获取更多信息:
By using remote API and operations on multiple entities. I will show an example on NDB using python, where our Test.csv contains the following values separated with semicolon:
First we need to import modules:
Then we need to create remote api stub:
For more information on using remote api have a look at this answer.
Then comes the main code, which basically does the following things:
Main code:
The put_multi operation also takes care of making sure to batch appropriate number of entities in a single HTTP POST request.
Have a look at this documentation for more information:
App Engine sdk 的更高版本,可以使用 appcfg.py 上传,
请参阅 appcfg.py
the later version of app engine sdk, one can upload using the appcfg.py
see appcfg.py