如有这个数据:
N' {"工作数据":[{"ID":274335309,"PN":null,"PO":null,"PID":null,"PName":null,
"No":null,"Color":null,"Size":null,"Qty":0,"EmpNo":null,"DoneTime":null,
"UpdateTime":"2022-12-13T20:02:00","Group":null},
{"ID":275440848,"PN":null,"PO":null,"PID":null,"PName":null,"No":null,
"Color":null,"Size":null,"Qty":0,"EmpNo":null,"DoneTime":null,"UpdateTime":"2022-12-14T16:14:00","Group":null}],"访问统计":[{"AccessTime":"2024-03-20T10:19:32.753","Count":0,"MonthCount":293909}]}}'
怎么把工作数据的数据写入到 2016的mssql 中去?
在Json数据如何写入2016的mssql数据表中?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
首先需要将数据中的Unicode编码字符转换为普通字符,并将其转换为JSON对象。可以使用Python中的json库完成这个转换:import json data = "N' {\"工作数据\":[{\"ID\":274335309,\"PN\":null,\"PO\":null,\"PID\":null,\"PName\":null,\"No\":null,\"Color\":null,\"Size\":null,\"Qty\":0,\"EmpNo\":null,\"DoneTime\":null,\"UpdateTime\":\"2022-12-13T20:02:00\",\"Group\":null},{\"ID\":275440848,\"PN\":null,\"PO\":null,\"PID\":null,\"PName\":null,\"No\":null,\"Color\":null,\"Size\":null,\"Qty\":0,\"EmpNo\":null,\"DoneTime\":null,\"UpdateTime\":\"2022-12-14T16:14:00\",\"Group\":null}],\"访问统计\":[{\"AccessTime\":\"2024-03-20T10:19:32.753\",\"Count\":0,\"MonthCount\":293909}]}}'" json_str = data.encode('utf8').decode('unicode_escape')[2:-1] json_obj = json.loads(json_str)然后就可以通过python连接mssql数据库,并插入工作数据的内容了。连接数据库可以使用pyodbc库:
import pyodbc server = 'localhost' database = 'myDB' username = 'myUsername' password = 'myPassword' cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+password) cursor = cnxn.cursor() for work_data in json_obj['工作数据']: cursor.execute("INSERT INTO myTable(ID, PN, PO, PID, PName, No, Color, Size, Qty, EmpNo, DoneTime, UpdateTime, Group) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", (work_data['ID'], work_data['PN'], work_data['PO'], work_data['PID'], work_data['PName'], work_data['No'], work_data['Color'], work_data['Size'], work_data['Qty'], work_data['EmpNo'], work_data['DoneTime'], work_data['UpdateTime'], work_data['Group'])) cnxn.commit() cnxn.close()以上代码中的myDB、myUsername、myPassword和myTable应该替换为实际的数据库名称、用户名、密码和表名。执行插入操作时,可以使用类似上面的代码进行循环插入。
解决 无用评论 打赏 举报