【发布时间】:2019-11-06 00:20:19
【问题描述】:
您好,我正在阅读带有熊猫的 csv 文件。我也在用我想要的字段创建一个新的数据框。当我使用 sql 命令遍历特定列时,出现错误,指出无法运行特定查询。而不是通过我的excel文件中的所有sql命令来找出哪些不起作用,我怎样才能让我的for循环也给我那些不起作用的?因为现在 for 循环在遇到第一个错误时停止。
类分析:
def read_sql(self):
d1 = pd.read_csv('filename.csv')
d2 = pd.dataframe(columns=[['ID', 'written_query', 'short_desc']])
d2['ID'] = d1['analysis_id']
d2['written_query'] = d1['query_syntax']
d2['description'] = d1['short_desc']
d2 = d2.to_json()
conn = pyodbc.connet("driver, server, database, trusted_connection")
for query in d1['query_syntax']:
df = pd.read_sql(query, conn)
return(df)
我收到的错误是 pandas.io.sqlDatabaseError
示例查询错误 选择 col2, col3, from t1
列名“col2”无效
我可以轻松返回并修复列名 我只有 100 个查询,我宁愿收到一个列表,告诉我哪些需要返回并修复,而不是一次遍历所有查询错误.
【问题讨论】:
-
这实际上并没有运行查询,因为它循环通过它们它只是返回运行查询的列表以及失败的查询我将如何为成功的查询以及失败的列表。抱歉,不清楚