0

csvファイルを開いてデータベースのテーブルにダンプするSQLクエリがあります。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)")

どんな助けでも大歓迎です。また、データベースの異なるテーブルにscvファイルをダンプするためのヘルプをstackoverflowで検索しています。それについて何かアイデアはありますか?

4

2 に答える 2

1

おそらく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 """
于 2013-02-12T15:07:31.930 に答える
0

スペルに気をつけて!conenction.commit() は connection.commit() である必要があります

于 2014-10-02T16:21:04.110 に答える