python讀取csv文件並將數據傳到數據庫

python讀取csv文件並將數據傳到數據庫

  • 要點

    • 其一就是使用 csv.readercsv.reader 進行數據讀很方便,具體用法可參考https://docs.python.org/zh-cn/3.9/library/csv.html
    • 其二我這裏是將數據寫到遠程服務器上,所以connectconnect裏面寫的是服務器IPIP,如果是本地數據庫的話寫上localhostlocalhost就好了,connectconnect的第二個參數是數據庫名,第三個是密碼,第四個是你要連接的表名
  • 代碼

    import csv
    import pymysql
    
    file=open("/Users/wzw/Desktop/2020畢業實習/database/players_info.csv",'r',encoding='gbk')
    reader=csv.reader(file)
    
    # 打開數據庫連接
    db = pymysql.connect("172.20.3.91","root","111111","data" )
    
    # 使用 cursor() 方法創建一個遊標對象 cursor
    cursor = db.cursor()
    
    for item in reader:
      #第一行是字段名跳過
      if(reader.line_num==1):
    	  continue
      else:
    	  s=item[7].split(' ') 
    	  #這樣寫實際上有點蠢,新手請見諒。
    	  #"%s"表示這個字段類型是字符串類型,其餘的類型都不用加引號
    	  sql='INSERT INTO PINFO VALUES(%s,"%s","%s","%s","%s",%s,%s,%s,%s,"%s","%s","%s","%s")' %\
    	                                (item[0],item[1],item[2],item[3],item[4],item[5],item[6],s[0],
    	                                	item[8],item[9],item[10],item[11],item[12])
    	  try:
    	  	  cursor.execute(sql)
    		  db.commit()
    		  print("success:",reader.line_num)
    	  except Exception as ex:
    		  print("error:",reader.line_num)
    		  print("出現如下異常%s"%ex)
    		  db.rollback() 
    		  break
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章