Sql 将海量JSON文件转换为CSV

Sql 将海量JSON文件转换为CSV,sql,json,csv,Sql,Json,Csv,我有一个48MB的JSON文件(我收集的推特数据)。我需要将JSON文件转换为CSV,以便将其导入SQL数据库并进行清理 我尝试了每一个JSON到CSV的转换器,但它们都返回相同的结果“文件超出了限制”/文件太大。有没有一种好方法可以在短时间内将如此庞大的JSON文件转换为CSV 谢谢大家! 一个48mb的json文件非常小。您应该能够使用如下方式将数据加载到内存中 import json with open('data.json') as data_file: data =

我有一个48MB的JSON文件(我收集的推特数据)。我需要将JSON文件转换为CSV,以便将其导入SQL数据库并进行清理

我尝试了每一个JSON到CSV的转换器,但它们都返回相同的结果“文件超出了限制”/文件太大。有没有一种好方法可以在短时间内将如此庞大的JSON文件转换为CSV


谢谢大家!

一个48mb的json文件非常小。您应该能够使用如下方式将数据加载到内存中

import json

with open('data.json') as data_file:    
    data = json.load(data_file)
根据您写入json文件的方式,数据可能是一个列表,其中包含许多字典。尝试运行:

type(data)
如果类型是列表,则迭代每个元素并检查它。例如:

for row in data:
    print(type(row))
    # print(row.keys())
如果行是dict实例,则检查键并在循环中开始构建CSV的每一行应包含的内容,然后您可以使用pandas、CSV模块或自己打开一个文件并用逗号逐行写入

所以可能是这样的:

import json

with open('data.json') as data_file:    
    data = json.load(data_file)


with open('some_file.txt', 'w') as f:

    for row in data:
        user = row['username']
        text = row['tweet_text']
        created = row['timestamp']
        joined = ",".join([user, text, created])
        f.write(joined)

您可能仍然会遇到unicode字符、数据中的逗号等问题,但这是一个通用指南

@msanford将JSON转换为CSV@CodyG。确实如此……您可以尝试查看Excel Power Query是否适用于您的转换,如果您正在寻找基于非编程的解决方案……看起来是个不错的答案,但OP没有指定任何编程语言;(