37,722
社区成员
发帖
与我相关
我的任务
分享
def pmdata_insert(db):
with open('1.json', encoding='utf-8') as f:
lines = f.readline() # 使用逐行读取的方法
pm_text = json.loads(lines) # 解析每一行数据
for i in range(len(pm_text)):
print(u'正在载入第%s行......' % i)
try:
result = []
result.append((pm_text[i]['pm10'], pm_text[i]['pm25'], pm_text[i]['time']))
print(result)
inesrt_re = "insert into pmdb(pm10,pm25,time) values (%s, %s, %s)"
cursor = db.cursor()
cursor.executemany(inesrt_re, result)
db.commit()
except Exception as e:
db.rollback()
print(str(e))
break
<a href="https://www.cnblogs.com/miqi1992/p/8081244.html">数据提取之JSON与JsonPATH</a>
pm_text = json.loads(lines) # 你这里取出的数据是[{"pm10": 7.5, "pm25": 5.1, "time": "30.08.2018 21:14:42"}, {"pm25": 5.2, "pm10": 6.4, "time": "30.08.2018 21:16:13"}, {"pm10": 18.0, "pm25": 11.8, "time": "31.08.2018 09:28:17"}]
result.append((pm_text[i-1]['pm10'], pm_text[i-1]['pm25'],pm_text[i-1]['time'])) # 你这里又一直取的是第一个下标的数据,当然会出现问题
result.append((pm_text[i]['pm10'], pm_text[i]['pm25'],pm_text[i]['time'])) # 可以试一下
sql = """CREATE TABLE pmdb (
id int unsigned auto_increment primary key not null,
pm10 FLOAT,
pm25 FLOAT,
time varchar(100)
)"""