0

Dataframe 有非英文命名的列,如何选择这样的列?

import pandasql as pdsql

pysql = lambda q: pdsql.sqldf(q, globals())
sqlquery = 'select ''Машина'', min(''Дата доставки'') from days_ans group by 1'
pysql(sqlquery)

最后一行返回错误:

PandaSQLException: (sqlite3.OperationalError) 在“доставки”附近:语法错误 [SQL: 'select Машина, min(Дата доставки) from days_ans group by 1']

PS 不指定列 - 应按以下方式工作:

sqlquery = 'select * from days_ans limit 1'
sqlquery = 'select ''Партнер'' from days_ans limit 1'

我认为问题与其中有空格的列有关

4

1 回答 1

1

你的单引号''连接起来,什么都不是。尝试在字符串的两侧使用双引号:

>>> sqlquery = 'select ''Машина'', min(''Дата доставки'') from days_ans group by 1'
>>> sqlquery
'select Машина, min(Дата доставки) from days_ans group by 1'
>>> sqlquery = "select ''Машина'', min(''Дата доставки'') from days_ans group by 1"
>>> sqlquery
"select ''Машина'', min(''Дата доставки'') from days_ans group by 1"

字符串文字连接

于 2018-02-05T12:36:36.893 回答