我正在寻找用于从 python 执行 LOAD DATA LOCAL INFILE 命令的语法定义、示例、示例代码、wiki 等。
我相信如果可用,我也可以使用 mysqlimport,因此欢迎任何关于更好路线的反馈(和代码片段)。谷歌搜索并没有以当前信息的方式出现太多
任何一种情况的目标都是相同的:将数百个具有已知命名约定和日期结构的文件自动加载到单个 MySQL 表中。
大卫
我正在寻找用于从 python 执行 LOAD DATA LOCAL INFILE 命令的语法定义、示例、示例代码、wiki 等。
我相信如果可用,我也可以使用 mysqlimport,因此欢迎任何关于更好路线的反馈(和代码片段)。谷歌搜索并没有以当前信息的方式出现太多
任何一种情况的目标都是相同的:将数百个具有已知命名约定和日期结构的文件自动加载到单个 MySQL 表中。
大卫
好吧,使用 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 语句将特定于您尝试读取的文件类型)。
您还可以通过在查询后添加以下行来获取导入结果:
results = connection.info()