擅长:python、mysql、java
<p>据我所知,你有两个问题,第一个是打字错误:
您忘记在连接之后添加空格,因此它找不到任何列</p>
<pre><code>i = 3
query = ("SELECT COL1, COL2" # Here you forgot to add a space, the interpreter will read it as COL2FROM
"FROM whatever "
"where SUBSTR(DATE,1,{}) = '201901' ").format(i)
df = pd.read_sql(query,con)
</code></pre>
<p>第二件事,您使用SUBSTR所做的操作将不会返回任何内容,因为它只返回3个字符,您可以将其与6进行比较,因此将<code>i</code>更改为6或使其成为动态的。
另外,在对结果表执行任何操作之前,我建议您使用<code>len(df)</code>函数获取它的长度,因此它应该如下所示:</p>
<pre><code>i = 6
query = ("SELECT COL1, COL2 "
"FROM whatever "
"where SUBSTR(DATE,1,{}) = '201901' ").format(i)
df = pd.read_sql(query,con)
if len(df):
print(df[0]) # Prints the first item
else
print("No items were found")
</code></pre>