我是 python 的新手,我有一个 json 文件,我试图用它来创建使用 python 的数据结构。
以下是其中一行的示例:
[{'name': 'Nick', 'age': '35', 'city': 'New York'}...]
Run Code Online (Sandbox Code Playgroud)
我将它读入内存,但不确定我需要采取哪些额外的步骤来使用它来创建表。
这是我迄今为止尝试过的:
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)
Run Code Online (Sandbox Code Playgroud)
理想情况下,我会采用以下格式:
Name Age City
Nick 35 New York
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。提前致谢。
您的问题没有指定得太精确,但是如果您想生成可以插入 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)))
Run Code Online (Sandbox Code Playgroud)
对于这个 JSON 文件:
[
{"name": "Nick", "age": "35", "city": "New York"},
{"name": "Joe", "age": "21", "city": "Boston"},
{"name": "Alice", "city": "Washington"},
{"name": "Bob", "age": "49"}
]
Run Code Online (Sandbox Code Playgroud)
它产生
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');
Run Code Online (Sandbox Code Playgroud)
对于未来,请让您的问题更具体:)
| 归档时间: |
|
| 查看次数: |
3310 次 |
| 最近记录: |