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
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章