在SQL For循环中遍历数组列

时间:2019-02-06 23:07:26

标签: python sql loops pyodbc

我正在尝试使用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)')

任何帮助将不胜感激!谢谢!

0 个答案:

没有答案