pandasql: How to select non english named column?
Dataframe has non english named columns, how to select such columns?
import pandasql as pdsql
pysql = lambda q: pdsql.sqldf(q, globals())
sqlquery = 'select ''Машина'', min(''Дата доставки'') from days_ans group by 1'
pysql(sqlquery)
Last row returns an error:
PandaSQLException: (sqlite3.OperationalError) near "доставки": syntax error [SQL: 'select Машина, min(Дата доставки) from days_ans group by 1']
PS Without specifying columns- works as should:
sqlquery = 'select * from days_ans limit 1'
sqlquery = 'select ''Партнер'' from days_ans limit 1'
I think the problem is related to the columns with spaces in it
python python-3.x pandas pandasql
add a comment |
Dataframe has non english named columns, how to select such columns?
import pandasql as pdsql
pysql = lambda q: pdsql.sqldf(q, globals())
sqlquery = 'select ''Машина'', min(''Дата доставки'') from days_ans group by 1'
pysql(sqlquery)
Last row returns an error:
PandaSQLException: (sqlite3.OperationalError) near "доставки": syntax error [SQL: 'select Машина, min(Дата доставки) from days_ans group by 1']
PS Without specifying columns- works as should:
sqlquery = 'select * from days_ans limit 1'
sqlquery = 'select ''Партнер'' from days_ans limit 1'
I think the problem is related to the columns with spaces in it
python python-3.x pandas pandasql
'aa''bb'
becomes'aabb'
. In your exampleПартнер
has no whitespaces whileДата доставки
does, which gives SQL syntax error. Use different quotes (see my answer).
– akarilimano
Feb 5 '18 at 12:47
add a comment |
Dataframe has non english named columns, how to select such columns?
import pandasql as pdsql
pysql = lambda q: pdsql.sqldf(q, globals())
sqlquery = 'select ''Машина'', min(''Дата доставки'') from days_ans group by 1'
pysql(sqlquery)
Last row returns an error:
PandaSQLException: (sqlite3.OperationalError) near "доставки": syntax error [SQL: 'select Машина, min(Дата доставки) from days_ans group by 1']
PS Without specifying columns- works as should:
sqlquery = 'select * from days_ans limit 1'
sqlquery = 'select ''Партнер'' from days_ans limit 1'
I think the problem is related to the columns with spaces in it
python python-3.x pandas pandasql
Dataframe has non english named columns, how to select such columns?
import pandasql as pdsql
pysql = lambda q: pdsql.sqldf(q, globals())
sqlquery = 'select ''Машина'', min(''Дата доставки'') from days_ans group by 1'
pysql(sqlquery)
Last row returns an error:
PandaSQLException: (sqlite3.OperationalError) near "доставки": syntax error [SQL: 'select Машина, min(Дата доставки) from days_ans group by 1']
PS Without specifying columns- works as should:
sqlquery = 'select * from days_ans limit 1'
sqlquery = 'select ''Партнер'' from days_ans limit 1'
I think the problem is related to the columns with spaces in it
python python-3.x pandas pandasql
python python-3.x pandas pandasql
edited Jan 1 at 13:17
marc_s
580k13011191266
580k13011191266
asked Feb 5 '18 at 12:29
RocketqRocketq
1,61463973
1,61463973
'aa''bb'
becomes'aabb'
. In your exampleПартнер
has no whitespaces whileДата доставки
does, which gives SQL syntax error. Use different quotes (see my answer).
– akarilimano
Feb 5 '18 at 12:47
add a comment |
'aa''bb'
becomes'aabb'
. In your exampleПартнер
has no whitespaces whileДата доставки
does, which gives SQL syntax error. Use different quotes (see my answer).
– akarilimano
Feb 5 '18 at 12:47
'aa''bb'
becomes 'aabb'
. In your example Партнер
has no whitespaces while Дата доставки
does, which gives SQL syntax error. Use different quotes (see my answer).– akarilimano
Feb 5 '18 at 12:47
'aa''bb'
becomes 'aabb'
. In your example Партнер
has no whitespaces while Дата доставки
does, which gives SQL syntax error. Use different quotes (see my answer).– akarilimano
Feb 5 '18 at 12:47
add a comment |
1 Answer
1
active
oldest
votes
Your single quotes ''
concatenate and become nothing. Try to use double quotes at the both sides of a string instead:
>>> 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"
String literal concatenation
Wow, never thought about differences " vs ''
– Rocketq
Feb 5 '18 at 14:16
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f48622640%2fpandasql-how-to-select-non-english-named-column%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Your single quotes ''
concatenate and become nothing. Try to use double quotes at the both sides of a string instead:
>>> 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"
String literal concatenation
Wow, never thought about differences " vs ''
– Rocketq
Feb 5 '18 at 14:16
add a comment |
Your single quotes ''
concatenate and become nothing. Try to use double quotes at the both sides of a string instead:
>>> 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"
String literal concatenation
Wow, never thought about differences " vs ''
– Rocketq
Feb 5 '18 at 14:16
add a comment |
Your single quotes ''
concatenate and become nothing. Try to use double quotes at the both sides of a string instead:
>>> 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"
String literal concatenation
Your single quotes ''
concatenate and become nothing. Try to use double quotes at the both sides of a string instead:
>>> 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"
String literal concatenation
edited Jan 1 at 13:17
marc_s
580k13011191266
580k13011191266
answered Feb 5 '18 at 12:36
akarilimanoakarilimano
6581716
6581716
Wow, never thought about differences " vs ''
– Rocketq
Feb 5 '18 at 14:16
add a comment |
Wow, never thought about differences " vs ''
– Rocketq
Feb 5 '18 at 14:16
Wow, never thought about differences " vs ''
– Rocketq
Feb 5 '18 at 14:16
Wow, never thought about differences " vs ''
– Rocketq
Feb 5 '18 at 14:16
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f48622640%2fpandasql-how-to-select-non-english-named-column%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
'aa''bb'
becomes'aabb'
. In your exampleПартнер
has no whitespaces whileДата доставки
does, which gives SQL syntax error. Use different quotes (see my answer).– akarilimano
Feb 5 '18 at 12:47