Python Mysql在文件中加载数据

Python Mysql在文件中加载数据,python,mysql,csv,Python,Mysql,Csv,我有一个这样列的数据库 Col1 Col2 Col3 Col4 Col5 File-1 Column1, Column2, Column4, Column5 1,2,4,5 1,2,4,5 1,2,4,5 1,2,4,5 1,2,4,5 File-2 Column1, Column3, Column5 1,3,5 1,3,5 1,3,5 1,3,5 1,3,5 1,3,5 我有两个csv文件,上面有这样的数据 Col1 Col2 Col3 Col4 Col5 File-1 Column1

我有一个这样列的数据库

Col1 Col2 Col3 Col4 Col5
File-1
Column1, Column2, Column4, Column5
1,2,4,5
1,2,4,5
1,2,4,5
1,2,4,5
1,2,4,5

File-2
Column1, Column3, Column5
1,3,5
1,3,5
1,3,5
1,3,5
1,3,5
1,3,5
我有两个csv文件,上面有这样的数据

Col1 Col2 Col3 Col4 Col5
File-1
Column1, Column2, Column4, Column5
1,2,4,5
1,2,4,5
1,2,4,5
1,2,4,5
1,2,4,5

File-2
Column1, Column3, Column5
1,3,5
1,3,5
1,3,5
1,3,5
1,3,5
1,3,5
请告诉我使用infle命令加载数据,以加载表中相应列中的file1和file2数据。i、 e.从文件1中,.csv中的第4列应进入表的第4列

使用此命令,Column4进入Col3,Column5进入Col4

import MySQLdb
import os
import string
import warnings

print "File Loader Started : QT"
output_path="F:/TestData_SD/QT_Files/"

# Open database connection
db = MySQLdb.connect (host="localhost",port=3307,user="root",\
                      passwd="gamma123",db="db_schema")

sql = """LOAD DATA LOCAL INFILE '{}'
INTO TABLE struct_pqrst
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\\r\\n'
IGNORE 1 LINES;;"""


l = os.listdir(output_path)
for file_name in l:
    if file_name.endswith('.csv'):

        try:
            cursor = db.cursor()
            cursor.execute(sql.format(output_path+file_name))
            db.commit()
            print "Loading file:"+file_name
        except Exception:
            print "Exception"
            # Rollback in case there is any error
            db.rollback()

# disconnect from server
db.close()
print "File Loader Ended : QT"

请帮助在第二个文件中定义列

LOAD DATA LOCAL INFILE '{}' 
INTO TABLE struct_pqrst (Column1, Column3, Column5)
FIELDS TERMINTED BY ',' 
LINES TERMINATED BY '\r\n' IGNORE 1 LINES;
看看我贴的链接


Ref:

我想你需要这样的解决方案,亲爱的Kay,我需要更多的帮助我有一个名为“桅杆间高度差”的字段,当我加载这个字段时,我得到一个异常“编程错误:(1064,”您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解使用第7行“)”中近“-Mast\u Height\u Diff.\u TLV,RunDate,SourceFileName)”的正确语法。你能告诉我怎么解决这个问题吗?用`或用`替换-来解决这个问题。让我知道!是的,这个把戏奏效了。谢谢