PowerBI连接Python Script:PandaSql查询带空格列名/值无结果求助
解决PandasSql中带空格列名与值的查询问题
在PowerBI结合Python的PandasSql(sqldf)操作Excel数据时,遇到带空格列名和值查询无结果的问题,可通过以下方式解决:
1. 带空格列名的处理
PandasSql基于SQLite语法,含空格的列名必须用**方括号[]或反引号`**包裹——否则SQL会将空格分隔的内容识别为多个独立标识符,导致语法或逻辑错误。
2. 带空格值的处理
WHERE子句中含空格的字符串值,只需用**单引号'**包裹即可,和普通字符串查询规则一致。
正确示例代码
from pandasql import sqldf import pandas as pd # 读取Excel数据到DataFrame(已确认路径无问题) df = pd.read_excel("你的Excel文件路径.xlsx") # 方式1:用方括号包裹带空格列名 SD_table = sqldf(""" SELECT * FROM df WHERE [Facility City] = 'San Diego' """) # 方式2:用反引号包裹带空格列名 SD_table = sqldf(""" SELECT * FROM df WHERE `Facility City` = 'San Diego' """)
验证步骤
如果仍有问题,可先执行简单查询验证列名处理是否正确:
# 查看前10条数据的Facility City列,确认列名识别正常 test_query = sqldf("SELECT [Facility City] FROM df LIMIT 10") print(test_query)
内容的提问来源于stack exchange,提问作者user23394390
相关产品推荐
相关产品推荐

