簡體   English   中英

使用python腳本中的嵌入式查詢將CSV文件轉儲到MySQL數據庫

[英]Dumping CSV files to MySQL database using embedded query in python script

我有一個SQL查詢,它將打開一個csv文件並將其轉儲到數據庫表中。 我正在嘗試使用python腳本一次轉儲多個文件,以在文件之間進行迭代。 我嘗試將相同的SQL查詢嵌入腳本中,但拋出錯誤。

這是我的腳本。

import csv
import MySQLdb

connection = MySQLdb.connect(host='localhost',
    user='root',
    passwd='password',
    db='some_db')


cursor = connection.cursor()

query = """ LOAD DATA INFILE 'c:\\example.csv' INTO TABLE new_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' Lines terminated by '\n' IGNORE 1 LINES """

cursor.execute(query)

conenction.commit()
cursor.close()

出於某種原因,python腳本在其他位置查找example.csv

這是拋出的錯誤:

raise errorclass, errorvalue
InternalError: (29, "File 'C:\\Documents and Settings\\All Users\\Application Data\\MySQL\\MySQL Server 5.5\\data\\example.csv' not found (Errcode: 2)")

任何幫助將不勝感激。 我也在搜索stackoverflow上尋求幫助,以將scv文件轉儲到數據庫的不同表中。 有什么想法嗎?

您可能需要使用load data local語法來確保正在相對於客戶端而不是服務器讀取數據。 更改

query = """ LOAD DATA INFILE 'c:\\example.csv' INTO TABLE new_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' Lines terminated by '\n' IGNORE 1 LINES """

query = """ LOAD DATA LOCAL INFILE 'c:\\example.csv' INTO TABLE new_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' Lines terminated by '\n' IGNORE 1 LINES """

注意拼寫! conenction.commit()應該是connection.commit()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM