真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中怎么將CSV文件導(dǎo)入MySQL數(shù)據(jù)庫(kù)

本篇文章為大家展示了Python中怎么將CSV文件導(dǎo)入MySQL數(shù)據(jù)庫(kù),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)公司推出雙陽(yáng)免費(fèi)做網(wǎng)站回饋大家。

CSV文件導(dǎo)入數(shù)據(jù)庫(kù)一般有兩種方法:

1、通過(guò)SQL的insert方法一條一條導(dǎo)入,適合數(shù)據(jù)量小的CSV文件,這里不做贅述。

2、通過(guò)load data方法導(dǎo)入,速度快,適合大數(shù)據(jù)文件,也是本文的重點(diǎn)。

樣本CSV文件如下:

Python中怎么將CSV文件導(dǎo)入MySQL數(shù)據(jù)庫(kù)

總體工作分為3步:

1、用python連接mysql數(shù)據(jù)庫(kù),可參考如何使用python連接數(shù)據(jù)庫(kù)?

2、基于CSV文件表格字段創(chuàng)建表

3、使用load data方法導(dǎo)入CSV文件內(nèi)容

load data語(yǔ)法簡(jiǎn)介:

LOAD DATA LOCAL INFILE 'csv_file_path' INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES

csv_file_path 指文件絕對(duì)路徑

table_name 指表名稱

FIELDS TERMINATED BY ',' 指以逗號(hào)分隔

LINES TERMINATED BY '\\r\\n' 指換行

IGNORE 1 LINES 指跳過(guò)第一行,因?yàn)榈谝恍惺潜淼淖侄蚊?/p>


下面給出全部代碼:

下面給出全部代碼:
#導(dǎo)入pymysql方法
import pymysql


#連接數(shù)據(jù)庫(kù)
config = {'host':'',
         'port':3306,
         'user':'evdata',
         'passwd':'',
         'charset':'utf8mb4',
         'local_infile':1
         }
conn = pymysql.connect(**config)
cur = conn.cursor()


#load_csv函數(shù),參數(shù)分別為csv文件路徑,表名稱,數(shù)據(jù)庫(kù)名稱
def load_csv(csv_file_path,table_name,database='evdata'):
   #打開csv文件
   file = open(csv_file_path, 'r',encoding='utf-8')
   #讀取csv文件第一行字段名,創(chuàng)建表
   reader = file.readline()
   b = reader.split(',')
   colum = ''
   for a in b:
       colum = colum + a + ' varchar(255),'
   colum = colum[:-1]
   #編寫sql,create_sql負(fù)責(zé)創(chuàng)建表,data_sql負(fù)責(zé)導(dǎo)入數(shù)據(jù)
   create_sql = 'create table if not exists ' + table_name + ' ' + '(' + colum + ')' + ' DEFAULT CHARSET=utf8'
   data_sql = "LOAD DATA LOCAL INFILE '%s' INTO TABLE %s FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\r\\n' IGNORE 1 LINES" % (csv_filename,table_name)

   #使用數(shù)據(jù)庫(kù)
   cur.execute('use %s' % database)
   #設(shè)置編碼格式
   cur.execute('SET NAMES utf8;')
   cur.execute('SET character_set_connection=utf8;')
   #執(zhí)行create_sql,創(chuàng)建表
   cur.execute(create_sql)
   #執(zhí)行data_sql,導(dǎo)入數(shù)據(jù)
   cur.execute(data_sql)
   conn.commit()
   #關(guān)閉連接
   conn.close()
   cur.close()

出現(xiàn)的問(wèn)題:

我是用win10系統(tǒng),代碼執(zhí)行時(shí)會(huì)出現(xiàn)以下錯(cuò)誤

ERROR 1148 (42000): The used command is not allowed with this MySQL version.

原因是不支持命令 load data

解決方法:

需要更改下配置文件

在mysql安裝目錄中找到my.ini配置文件,復(fù)制以下內(nèi)容到文件中

[mysqld]        #服務(wù)端配置
local-infle = 1

[mysql]         #客戶端配置
local-infile = 1

上述內(nèi)容就是Python中怎么將CSV文件導(dǎo)入MySQL數(shù)據(jù)庫(kù),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章名稱:Python中怎么將CSV文件導(dǎo)入MySQL數(shù)據(jù)庫(kù)
網(wǎng)站鏈接:http://weahome.cn/article/gihcsh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部