原始資料在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...