使用 python3 将 csv 文件导入 mysql 数据库
import csv file to mysql database using python3
我正在尝试使用 python3 将 CSV 文件上传到 MySQL 数据库,但出现以下错误。
ProgrammingError: 1064 (42000): 你的 SQL 语法有错误;查看与您的 MariaDB 服务器版本对应的手册,了解在 'acc-Part8.csv into table 12_September_2019_2052 FIELDS TERMINATED BY ' 附近使用的正确语法,第 1 行的“ENCLOSE”
通过使用 python2.7 我的问题就解决了。我没有收到任何错误,文件已上传到数据库。
这里我根据创建日期对 csv 文件进行排序
lst_files = glob.glob("*.csv")
lst_files.sort(key=os.path.getmtime)
nf = "\n".join(lst_files)
k = len(lst_files)
z = lst_files[k-1]
a= (datetime.datetime.now())
a = str(a.strftime("%d_%B_%Y_%H%M"))
Table_name = str(a)
sqlLoadData = """load data local infile """+`z`+""" into table """+Table_name+""" FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES;"""
(python2.7)
这是我用于 python2.7
的命令
如果我使用与 python3.5 (``) 相同的命令,这些引号显示语法错误
所以,我删除了这些引号,我得到了上面的错误。
谁能解决这个问题
感谢和问候
我解决了这个问题
其中 z = 文件名
l = "'"+z+"'"
sqlLoadData = """"load data local infile """+l+""" 到 table """+Table_name+""" 由 ',' 终止的字段由 '"' 终止的行 ' \n' 忽略 1 行;"""
我正在尝试使用 python3 将 CSV 文件上传到 MySQL 数据库,但出现以下错误。
ProgrammingError: 1064 (42000): 你的 SQL 语法有错误;查看与您的 MariaDB 服务器版本对应的手册,了解在 'acc-Part8.csv into table 12_September_2019_2052 FIELDS TERMINATED BY ' 附近使用的正确语法,第 1 行的“ENCLOSE”
通过使用 python2.7 我的问题就解决了。我没有收到任何错误,文件已上传到数据库。
这里我根据创建日期对 csv 文件进行排序
lst_files = glob.glob("*.csv")
lst_files.sort(key=os.path.getmtime)
nf = "\n".join(lst_files)
k = len(lst_files)
z = lst_files[k-1]
a= (datetime.datetime.now())
a = str(a.strftime("%d_%B_%Y_%H%M"))
Table_name = str(a)
sqlLoadData = """load data local infile """+`z`+""" into table """+Table_name+""" FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES;"""
(python2.7)
这是我用于 python2.7
的命令如果我使用与 python3.5 (``) 相同的命令,这些引号显示语法错误 所以,我删除了这些引号,我得到了上面的错误。
谁能解决这个问题
感谢和问候
我解决了这个问题 其中 z = 文件名 l = "'"+z+"'" sqlLoadData = """"load data local infile """+l+""" 到 table """+Table_name+""" 由 ',' 终止的字段由 '"' 终止的行 ' \n' 忽略 1 行;"""