最近在做項目中遇到了一些問題,需要將從API獲取到的JSON數(shù)據(jù)寫入到MySQL數(shù)據(jù)庫中。在網(wǎng)上查找相關資料后,決定采用Python中的MySQLdb庫來實現(xiàn)。下面是我的實現(xiàn)過程與一些注意事項。
import MySQLdb import json # 數(shù)據(jù)庫連接信息 host = 'localhost' user = 'root' password = 'xxxxxx' database = 'my_database' # 連接數(shù)據(jù)庫 db = MySQLdb.connect(host, user, password, database, charset='utf8') cursor = db.cursor() # 讀取JSON文件 with open('data.json', 'r') as f: data = json.load(f)['data'] # 循環(huán)寫入數(shù)據(jù)庫 for item in data: sql = "INSERT INTO my_table (id, name, age) VALUES ('%s', '%s', %d)" % (item['id'], item['name'], item['age']) cursor.execute(sql) db.commit() # 關閉連接 db.close()
在上面的代碼中,我們首先定義了MySQL數(shù)據(jù)庫連接的相關信息,然后使用MySQLdb庫連接數(shù)據(jù)庫。接著,我們使用Python內置的json庫讀取JSON文件,然后循環(huán)遍歷數(shù)據(jù)并寫入到指定的表格中。注意要使用db.commit()來提交操作,否則你的寫入操作將不會生效。
另外,在處理JSON數(shù)據(jù)時,需要注意以下幾點:
- 插入的字段類型需要與表格中定義的類型相符合。
- 空值是null而不是None。
- 字符串需要加上引號。
- 日期類型需要使用datetime格式。
總之,JSON數(shù)據(jù)與MySQL數(shù)據(jù)庫的結合可以實現(xiàn)很多有趣的功能。只要我們對JSON格式和MySQL語法足夠熟悉,就能應對各種場景的需求。