Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python从JSON创建数据结构_Python_Sql_Json - Fatal编程技术网

使用Python从JSON创建数据结构

使用Python从JSON创建数据结构,python,sql,json,Python,Sql,Json,我是python新手,我有一个json文件,我正试图使用它来创建一个使用python的数据结构 下面是其中一行的示例: [{'name': 'Nick', 'age': '35', 'city': 'New York'}...] 我将其读入内存,但不确定需要采取哪些额外步骤来使用它创建表 以下是我迄今为止所尝试的: import json import csv from pprint import pprint with open("/desktop/customer_records.jso

我是python新手,我有一个json文件,我正试图使用它来创建一个使用python的数据结构

下面是其中一行的示例:

[{'name': 'Nick', 'age': '35', 'city': 'New York'}...]
我将其读入内存,但不确定需要采取哪些额外步骤来使用它创建表

以下是我迄今为止所尝试的:

import json
import csv
from pprint import pprint

with open("/desktop/customer_records.json") as customer_records:
    data=json.load(customer_records)
    for row in data:
        print(row)
理想情况下,我会采用以下格式:

Name Age City
Nick 35  New York

任何帮助都将不胜感激。提前感谢。

您的问题并没有说得太精确,但是如果您想生成可以插入MySQL的SQL,下面有一个小程序,可以将JSON转换为一系列SQL语句:

#!/usr/bin/env python

import json

# Load data
with open("zz.json") as f:
    data=json.load(f)

# Find all keys
keys = []
for row in data:
    for key in row.keys():
        if key not in keys:
            keys.append(key)

# Print table definition
print """CREATE TABLE MY_TABLE(
  {0}
);""".format(",\n  ".join(map(lambda key: "{0} VARCHAR".format(key), keys)))

# Now, for all rows, print values
for row in data:
    print """INSERT INTO MY_TABLE VALUES({0});""".format(
        ",".join(map(lambda key: "'{0}'".format(row[key]) if key in row else "NULL", keys)))
对于此JSON文件:

[
  {"name": "Nick", "age": "35", "city": "New York"},
  {"name": "Joe", "age": "21", "city": "Boston"},
  {"name": "Alice", "city": "Washington"},
  {"name": "Bob", "age": "49"}
]
它产生

CREATE TABLE MY_TABLE(
  city VARCHAR,
  age VARCHAR,
  name VARCHAR
);
INSERT INTO MY_TABLE VALUES('New York','35','Nick');
INSERT INTO MY_TABLE VALUES('Boston','21','Joe');
INSERT INTO MY_TABLE VALUES('Washington',NULL,'Alice');
INSERT INTO MY_TABLE VALUES(NULL,'49','Bob');

为了将来,请让你的问题更加具体:)

文本表还是html表?表是什么意思?一个数据结构还是一个可视化的表示?很抱歉--一个数据结构你能精确地回答你的问题吗?是否要在SQL数据库中创建表?如果是,什么样的数据库引擎,MySQL?SQLite?SQL Server等…?是的,希望在MySQL中创建表感谢您的帮助!将来肯定会让我的问题更具体