gpt4 book ai didi

python - 存储大量数据的最智能方式

转载 作者:搜寻专家 更新时间:2023-10-30 19:45:50 25 4
gpt4 key购买 nike

我想通过 REST 请求访问 flickr API 并下载大约1 Mio 照片(可能更多)。我想将它们存储在 .csv 文件中,然后将它们导入 MySQL 数据库以进行进一步处理

我想知道处理这种大数据的最聪明的方法是什么。我不确定的是在用 Python 访问网站后如何存储它们,将它们传递到 .csv 文件并从那里传递到数据库。这是一个很大的问号。

现在发生的事情(根据我的理解,请参见下面的代码)是为每个 photo 创建一个 dictionary(每个调用的 URL 250 个)。这样我最终会得到和照片一样多的词典(1 Mio 或更多)。那可能吗?所有这些 dictionaries 都将附加到一个列表中。我可以将那么多词典附加到列表中吗?我想将词典附加到列表的唯一原因是,从列表逐行保存到 .csv 文件似乎更容易。

您应该知道,我是编程、Python 或其他任何东西的完全初学者。我的职业是一个完全不同的职业,我才刚刚开始学习。如果您需要任何进一步的解释,请告诉我!

#accessing website
list = []
url = "https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=5...1b&per_page=250&accuracy=1&has_geo=1&extras=geo,tags,views,description"
soup = BeautifulSoup(urlopen(url)) #soup it up
for data in soup.find_all('photo'):
dict = {
"id": data.get('id'),
"title": data.get('title'),
"tags": data.get('tags'),
"latitude": data.get('latitude'),
"longitude": data.get('longitude'),
}
print (dict)

list.append(dict)

我正在使用 python 3.3。我不将数据直接传递到数据库的原因是因为我无法在我的 os x 10.6 上运行 mysql 数据库的 python 连接器。

非常感谢任何帮助。谢谢大家!

最佳答案

我建议使用 SQLite 对此进行原型(prototype)设计,而不是乱用 CSV。 SQLite 与 Python 配合得很好,但您不必经历所有令人头疼的设置单独数据库的过程。

另外,我不认为你想为此使用 BeautifulSoup,因为它听起来不像是你真正想要的。听起来您想直接访问 REST API。为此你会想要使用类似的东西 the requests library或者更好 one of the flickr Python bindings .

一旦启动并运行,我会在循环的每次迭代期间写入数据库,并随时保存。这样您就不会使用大量内存,并且如果出现崩溃,您也不会丢失到目前为止提取的数据。

关于python - 存储大量数据的最智能方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24876399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com