【发布时间】:2016-07-22 17:56:11
【问题描述】:
在我的用例中,我将 csv 存储为字符串,我想将其加载到 MySQL 表中。有没有比将字符串保存为文件,使用 LOAD DATA INFILE,然后删除文件更好的方法?我找到了this answer,但它是用于 JDBC 的,我还没有找到与之等效的 Python。
【问题讨论】:
-
为什么不把插入语句放在一起?
在我的用例中,我将 csv 存储为字符串,我想将其加载到 MySQL 表中。有没有比将字符串保存为文件,使用 LOAD DATA INFILE,然后删除文件更好的方法?我找到了this answer,但它是用于 JDBC 的,我还没有找到与之等效的 Python。
【问题讨论】:
是的,你描述的很有可能!例如,假设您的 csv 文件包含三列:
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()
【讨论】: