Python:JSON到CSV(数十亿行)

时间:2017-08-03 18:21:50

标签: python mysql json csv

为了在MySQL中快速插入我的数据,我决定采用我拥有的6200个JSON文件(每个文件大约有200K行)并将它们转换为CSV。然后,我想使用LOAD DATA INFILE在MySQL中快速插入所有CSV。这就是我到目前为止所做的事情:

myList = []
path = *some path to my files*
for filename inglob.glob(os.path.join(path, '*.JSON')):
    with open(filename) as json_data:
        j = json.load(json_data)
        for i in j["rows"]:
            user_id = i["values"][0][0]
            birthday = int(float(i["values"][0][1])/1000)
            gender = str(epoch_timestamp)
            age = i["values"][0][2]
            eye_color = i["values"][0][3]
            data = (user_id, birthday, gender, age, eye_color)
            myList.append(data)

fn = '/Users/srayan/Desktop/myCSV.csv'
with open(fn,'w') as out:
    writer = csv.writer(out)
    writer.writerows(myList)

我的问题是,通过每行,10亿行JSON中的单个行是非常低效的 - 有没有什么方法可以从JSON获取行数据而不必迭代每一行?或者是否有人知道比从JSON更快的方法 - > CSV - >加载到MySQL的INFILE?提前谢谢。

0 个答案:

没有答案