python 從csv讀數據到mysql

  • 2020 年 1 月 11 日
  • 筆記

import csv  import sys,os  import MySQLdb    def read_csv(filename):      with open(filename) as f:          f_csv = csv.reader(f)          headers = next(f_csv)          #數據格式[1111,22222,1111,1111,.....]          #for row in f_csv:              # Process row          #    field1=row[1]          #    ...          return headers    def conn_to_psto():      #mysql連接方法      #MySQLdb.connect()      #postgl連接      onn = MySQLdb.connect(database="testdb",                              user="postgres",                              password="pass123",                              host="127.0.0.1",                               port="5432")      cur = conn.cursor()      return cur    if __name__ == "__main__":      #傳入文件路徑或文件名      filename=sys.argv[1]      f_csv=read_csv(filename)      cur=conn_to_psto()      for row in f_csv:              # Process row              field1=row[1]              ...          sql='''insert into .......(field1,field2,...) values(%,%,...) '''.format(field1=field1,field2=field2.........))          cur.execute(sql)      conn.commit()      conn.close()