首页 > 解决方案 > 如何在python中选择名称中带有句点的SQLite表

问题描述

我将一堆 pandas 数据框作为单独的表添加到 SQLite 数据库中,但我没有意识到其中一个名称中有句点。当我尝试SELECT阅读该表时,出现以下错误:

pandas.io.sql.DatabaseError: Execution failed on sql 'SELECT * from A.J._Doe': near ".": syntax error

我的问题:有没有办法读取名称中带有句点的表格?没有句点的其他名称工作得很好。

name = "A.J._Doe"
pd.read_sql_query("SELECT * from " + name, conn)  # Gives the above error message

标签: sqlite

解决方案


在 SQLite 中,您可以使用双引号转义对象名称(例如表、列、数据库等),因此请尝试:

name = "A.J._Doe"
sql = 'SELECT * FROM "' + name + '"'
pd.read_sql_query(sql, conn)

推荐阅读