python 数据导入mysql_用python批量向数据库(MySQL)中导入数据
用python批量向數據庫(MySQL)中導入數據
現有數十萬條數據,如下的經過打亂處理過的數據進行導入
數據庫內部的表格的數據格式如下與下面的表格結構相同Current database: python_test_1
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| maile | varchar(50) | YES | | NULL | |
| wchat | varchar(50) | YES | | NULL | |
| phone | varchar(50) | YES | | NULL | |
| brith | varchar(50) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
6 rows in set (0.18 sec)
實現方法
import re
from pymysql import connect
# 建立鏈接
conn = connect(host='localhost', port=3306, db='python_test_1', user='root', password='mysql', charset='utf8')
# 獲取游標
cur = conn.cursor()
# 打開文件,讀取所有文件存成列表
with open("/home/python/Desktop/code/data01.txt", "r") as file:
# 可以選擇readline或者read的方式,但下面的代碼要有所變化
data_list = file.readlines()
# 遍歷列表
for t in data_list:
# 正則方式匹配處理字符串
text_list = re.split(r"\n", t)
text = re.split(r"\t", text_list[0])
# print(text)
# sql語句
sql = "insert into test_db values (0,%s,%s,%s,%s,%s)"
print(sql)
# 參數化方式傳參
row_count = cur.execute(sql,[text[0],text[1],text[2],text[3],text[4]])
# 顯示操作結果
print("SQL語句影響的行數為%d" % row_count)
# 統一提交
conn.commit()
# 關閉游標
cur.close()
# 關閉連接
conn.close()
總結
以上是生活随笔為你收集整理的python 数据导入mysql_用python批量向数据库(MySQL)中导入数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 达尔优 A98 青春版三模机械键盘发布,
- 下一篇: 推特祭出赚钱大招,考虑释放 15 亿用户