python讀取txt並將資料插入到sql中

2021-06-22 16:18:37 字數 1383 閱讀 9908

原始資料在txt中 處理有很多不便 想要把它們插入到sql中去

**如下:

連線資料庫:

import mysqldb

conn=mysqldb.connect(host="localhost",user="root",passwd="root",db="mydatabase",charset="utf8")

cursor = conn.cursor()

if conn:

print("data base has already connected")

開啟檔案獲取一行資料

f = open("data_first.csv","r")

f.readline()#因為txt中第一行一般為列名,因此用readline先將這行資料跳過

拼接insert語句

我要插入的資料表為mydata,資料列為21列,第一列為id列。資料表已經在sql中存在,且txt中用逗號隔開的資料列也為21列

insertcolumn = "id "

s = "'%s'"

for i in range(1,20,1):

s = s + ",'%s'"

insertcolumn = "insert into mydata "+"values("+s+")"

迴圈插入

這一部分需要注意的是,用readline讀取的時候,會把每行末尾的\n也讀取進去,可以用strip對其進行處理

while true:

line = f.readline().strip('\n')#按行讀取且處理掉換行符,效果:"\'\n'變為了''

if line:

#print(line.split(','))

list = line.split(',')#資料以逗號分隔,因此用split(',')

#print(len(list))#獲取長度

insertcolumn_full = insertcolumn%tuple(list)#%s的字串格式化傳參只支援元組和字典,不支援列表,因此這裡需要用tuple(list)將list轉為元組

#print(insertcolumn_full)

cursor.execute(insertcolumn_full)#執行

conn.commit()#事務提交,這句一定要有!否則即使python不報錯 資料也無法成功插入sql

else:

break

關閉

cursor.close()

conn.close()

f.close()

Python 讀取TXT檔案

一 開啟檔案 f open filename,access mode r buffering 1 filename 檔名 access mode 開啟方式,r讀,w寫,a追加,r w a 都是以讀寫方式開啟,rb二進位制讀,wb二進位制寫,rb wb ab 二進位制讀寫 buffering 預設值 ...

python 讀取txt檔案

txt檔案內容 1.全部讀取 file open e others 測試.txt r 開啟檔案 f all file.read 讀取所有檔案內容 print f all file.close 關閉檔案結果 2.按行讀取 file open e others 測試.txt r 開啟檔案 for lin...

python 讀取txt 檔案

filename users sr00117 desktop bom1.txt txt檔案和當前指令碼在同一目錄下,所以不用寫具體路徑 def readtxt valuelist all list alone list with open filename,r as file to read for...