2016-07-22 17 views
0

私の場合、文字列として格納されたCSVファイルをMySQLテーブルにロードします。文字列をファイルとして保存し、LOAD DATA INFILEを使用してファイルを削除するよりも良い方法はありますか?私はthis answerを見つけましたが、それはJDBCのためであり、私はそれに相当するPythonを見つけられませんでした。Pythonを使用してMySQLにCSV文字列をロードする方法

+1

なぜ、挿入文字列を組み立ててみませんか? – Drew

答えて

0

はいあなたの説明は非常に可能です!たとえば、csvファイルに次の3つの列があるとします。

import MySQLdb 
conn = MySQLdb.connect('your_connection_string') 
cur = conn.cursor() 
with open('yourfile.csv','rb') as fin: 
    for row in fin: 
     cur.execute('insert into yourtable (col1,col2,col3) values (%s,%s,%s)',row) 
cur.close(); conn.close() 
+0

私のCSVに多くの行がある場合、これは遅くなるでしょうか?私は大量のデータをロードするときにLOAD DATA INFILEがより効率的であると聞いていました。 – user274602

+0

あなたは両方の方法を試みるべきです... – bernie

関連する問題