要把Json格式转换成文本或Sql文件,可以通过Python自带的json库来实现。
1. Json转文本
将Json格式转换成文本,主要是通过序列化Json数据为Python的字符串格式,然后再将字符串输出到文件中,代码如下:
import json
# 读取Json文件中的数据
with open('data.json') as f:
data = json.load(f)
# 序列化Json数据为Python字符串
json_str = json.dumps(data)
# 将字符串输出到文件中
with open('data.txt', 'w') as f:
f.write(json_str)
以上代码中,首先使用json.load
方法读取Json文件中的数据,然后使用json.dump
方法将Json数据序列化为Python字符串,最后使用write
方法将字符串输出到文件中。运行后,会在当前目录下生成一个名为data.txt
的文本文件,其中存放着Json数据序列化后的Python字符串内容。
2. Json转Sql
将Json格式转换成Sql文件,主要是将Json数据提取出来,然后拼凑成对应的Sql语句,代码如下:
import json
# 读取Json文件中的数据
with open('data.json') as f:
data = json.load(f)
# 拼凑Insert语句
table_name = 'user'
fields = ['id', 'name', 'age']
sql_list = []
for item in data['users']:
values_str = ','.join(str(item[field]) for field in fields)
sql = "INSERT INTO {} ({}) VALUES ({});".format(table_name, ','.join(fields), values_str)
sql_list.append(sql)
# 将Sql语句输出到文件中
with open('data.sql', 'w') as f:
f.write('\n'.join(sql_list))
以上代码中,首先使用json.load
方法读取Json文件中的数据,然后根据Sql语法,拼凑出Insert语句的字段和值,最终将生成的Sql语句输出到文件中。运行后,会在当前目录下生成一个名为data.sql
的Sql文件,其中存放着生成的Insert语句。
可以使用示例Json数据进行测试,如下所示:
{
"users": [
{"id": 1, "name": "Tom", "age": 18},
{"id": 2, "name": "Jerry", "age": 20},
{"id": 3, "name": "Bob", "age": 25},
{"id": 4, "name": "Alice", "age": 22}
]
}
使用以上Json数据进行测试,会生成以下内容的Sql文件:
INSERT INTO user (id,name,age) VALUES (1,Tom,18);
INSERT INTO user (id,name,age) VALUES (2,Jerry,20);
INSERT INTO user (id,name,age) VALUES (3,Bob,25);
INSERT INTO user (id,name,age) VALUES (4,Alice,22);
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现把json格式转换成文本或sql文件 - Python技术站