環境
win10
python3.7
mysql5.7
方法
pip install pymysql
注:讀取大檔案可以用# -*- coding:utf-8 -*-
import pandas as pd
import pymysql
import time, datetime
def get_data(file_name):
# 用pandas讀取csv
# data = pd.read_csv(file_name,engine='python',encoding='gbk')
data = pd.read_csv(file_name,engine='python')
print (data.head(5)) #列印前5行
# 資料庫連線
conn = pymysql.connect(
user="使用者名稱",
port=埠,
passwd="密碼",
db="資料庫名",
host="127.0.0.1",
charset = 'utf8'
)# 使用cursor()方法獲取操作游標
cursor = conn.cursor()
# 資料過濾,替換 nan 值為 none
data = data.astype(object).where(pd.notnull(data), none)
for id,create_date,create_user_account,update_date,update_user_account,task_id,user_account,user_person_type_id,user_name,cooperative_member in zip(data['id'],data['create_date'],data['create_user_account'],data['update_date'],data['update_user_account'],data['task_id'],data['user_account'],data['user_person_type_id'],data['user_name'],data['cooperative_member']):
create_date = format_date(create_date) # 這裡由於對日期有特殊需求,自己處理了一下,**就不貼了,如無需要可略過。
datalist = [id,create_date,create_user_account,update_date,update_user_account,task_id,user_account,user_person_type_id,user_name,cooperative_member]
print (datalist) # 插入的值
try:
insertsql = "insert into sw_task_member_asign(id,create_date,create_user_account,update_date,update_user_account,task_id,user_account,user_person_type_id,user_name,cooperative_member) values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"
cursor.execute(insertsql,datalist)
conn.commit()
except exception as e:
print ("exception")
print (e)
conn.rollback()
cursor.close()
# 關閉資料庫連線
conn.close()
def main():
# 讀取資料
get_data('***.csv')
if __name__ == '__main__':
main()
load data
匯入,但自己並沒有嘗試成功。寫的時候也碰了些坑,搜了不少部落格並不適合自己,總會出現各種問題,上述**可能只並不適配所有場景,僅供參考。
- end -﹀﹀
﹀白嫖有風險
點讚加收藏
python讀取 寫入csv檔案
總是記不住怎麼讀取csv檔案,每次都是上網查,寫個部落格記錄下來看看會不會記得更清楚。個人比較喜歡用pandas的read csv函式來讀取csv檔案 import pandas as pd train data pd.read csv data train.csv 讀取後的資料是dataframe...
python讀取並寫入csv檔案
python檔案讀寫,以後就用with open語句 python讀取並寫入csv檔案 import csv 讀取csv檔案方法一 csvfile open data.csv r encoding utf8 檔案是中文的話要設定編碼格式 reader csv.reader csvfile 返回的是迭...
csv檔案讀取與寫入
import csv with open stock.csv r as fp reader是個迭代器 reader csv.reader fp next reader for i in reader print i name i 3 volumn i 1 print 直接用 open 函式開啟 cs...