我有2个变量finalpath
和tblname
。变量finalpath
包含从中加载数据的文本文件的名称,变量tblname
包含从finalpath
加载数据的表的名称。我正在使用python连接器来运行我的SQL查询。
当我尝试使用以下代码行从单个文件中加载数据时
loadData= "LOAD DATA INFILE '/mnt/Wdrive/pc70/SK/E07/CM_lad_19Dez2018_14Uhr38.txt' into TABLE CM_lad_19Dez2018_14Uhr38"
它成功地从给定的路径中读取文本文件,并将相应的数据加载到表CM_lad_19Dez2018_14Uhr38
中
对于1个文件,这是正确的。
现在的问题是,路径/mnt/Wdrive/pc70/SK/E07/
中有1000个文件中的100个。我想创建与文件名相对应的表,然后将数据加载到其相应的表中。
我已经使用以下代码成功创建了表:
rootDir = '/mnt/Wdrive/pc70/SK/E07'
for dirName, subdirList, fileList in os.walk(rootDir):
for fname in fileList:
tblname = os.path.basename(fname).split('.')[0]
print(tblname)
sql= 'CREATE TABLE %s (Datum varchar(12), Uhrzeit varchar(13), UpsACT_V varchar(6), UpsPRE_V varchar(6), IpsACT_A varchar(6),IpsPRE_A varchar(6), PpsACT_W varchar(6), PpsPRE_W varchar(10))' %tblname
myCursor.execute(sql)
myConnection.commit()
基于CREATE TABLE
查询,我为LOAD DATA
创建了一个查询,如下所示
loadData= "LOAD DATA ' %s ' INTO TABLE %s " %finalpath %tblname
我的代码退出并出现以下错误
Traceback (most recent call last):
File "25createtable.py", line 41, in <module>
loadData= "LOAD DATA ' %s ' INTO TABLE %s " %finalpath %tblname
TypeError: not enough arguments for format string
我为LOAD DATA
尝试了许多其他组合,但没有成功
loadData= "LOAD DATA LOCAL INFILE '%s[..]' INTO TABLE %s [..]" %finalpath % tblname
loadData= "LOAD DATA LOCAL INFILE [..] INTO TABLE %s [..]" % tblname
对此有任何可能的解决方案吗? 期待反馈