从 CSV 中读取,转换为 JSON 并存储在 MongoDB 中

Reading from CSV, converting to JSON and storing in MongoDB

我正在尝试读取 Pandas 中的 CSV 文件,将每一行转换为 JSON 对象并将它们附加到字典中,然后存储在 MongoDB 中。

这是我的代码

data = pd.DataFrame(pd.read_csv('data/airports_test.csv'))

for i in data.index:
    json = data.apply(lambda x: x.to_json(), axis=1)
    json_dict = json.to_dict()

print(json_dict[5])

ins = collection.insert_many(json_dict)
# for i in json_dict:
#     ins = collection.insert_one(json_dict[i])

如果我打印 dict 的元素,我会得到正确的输出(我认为..)。如果我尝试使用 collection.insert_many,我会得到错误 'documents must be a non empty list' 如果我尝试遍历字典并一次添加一个,我会得到错误

document must be an instance of dict, bson.son.SON, bson.raw_bson.RawBSONDocument, or a type that inherits from collections.MutableMapping

我用谷歌搜索了又搜索,但似乎找不到解决方案!任何帮助将不胜感激。

您可以通过以下方式跳过处理 DataFrame 的各个行:

import json
import pandas
data = pandas.DataFrame(pandas.read_csv('test2.csv'))
data = data.to_dict(orient="records")
collection.insert_many(data)

顺便说一句,我想我个人会使用 csv 模块和 dictReader 而不是 pandas,但这种方式很好。