17

我正在寻找用于从 python 执行 LOAD DATA LOCAL INFILE 命令的语法定义、示例、示例代码、wiki 等。

我相信如果可用,我也可以使用 mysqlimport,因此欢迎任何关于更好路线的反馈(和代码片段)。谷歌搜索并没有以当前信息的方式出现太多

任何一种情况的目标都是相同的:将数百个具有已知命名约定和日期结构的文件自动加载到单个 MySQL 表中。

大卫

4

2 回答 2

29

好吧,使用 python 的 MySQLdb,我使用这个:

connection = MySQLdb.Connect(host='**', user='**', passwd='**', db='**')
cursor = connection.cursor()
query = "LOAD DATA INFILE '/path/to/my/file' INTO TABLE sometable FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ESCAPED BY '\\\\'"
cursor.execute( query )
connection.commit()

根据您的需要替换主机/用户/密码/数据库。这基于此处的 MySQL 文档,确切的 LOAD DATA INFILE 语句将取决于您的具体要求等(请注意,FIELDS TERMINATED BY、ENCLOSED BY 和 ESCAPED BY 语句将特定于您尝试读取的文件类型)。

于 2009-08-05T17:46:39.177 回答
-1

您还可以通过在查询后添加以下行来获取导入结果:

results = connection.info()
于 2010-05-10T11:09:23.077 回答