我正在尝试使用for循环遍历包含WHERE子句输入的文件。我认为我需要指定某种格式更改,因为在第一列的最后一行之后出现错误。 (相同的输入用于2个不同的SQL表列)
我尝试将输入作为列表,数组和文件运行,但似乎没有任何办法。关于如何在Python中解决此问题的任何想法?我可以告诉我,我终于可以开始工作了!
import numpy as np
import pyodbc
con = pyodbc.connect('DSN=*;UID=*;PWD=*')
cur=con.cursor()
#User Inputs:
df = pd.read_csv('file.csv')
level1 = 'SQL Column Name 1'
level2 = 'SQL Column Name 2'
#Make Data Readable for SQL Query:
data = []
for i in df:
info = df[i]
data.append(info)
#Make SQL Query:
sql = """select count(IDS) from MY_TABLE
where {col1} in {val1}
or {col2} in
{val2}""".format(col1=level1,val1=item,col2=level2,val2=item)
for item in data:
row = cur.execute(sql).fetchall()
counts.append(row)
print(counts)
我想让它遍历我的CSV文件中的每一列(在这种情况下,有8个)并返回8个计数的列表。这是我得到的错误:
\'1232671 \'] \'\ n错误
(“ 1232671”是我第一列中最后一行的值)
^发现“ \'”(字符95),期望为“ \”(\'\'(27)(SQLExecDirectW)')
任何帮助将不胜感激!谢谢!