How to use a function attribute as python object as well as string
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
Basically my code looks like this surrounded by some logging:
df_name.to_sql('df_name', engine, index=False)
What I would like to do is to wrap it into a function and use df_name
twice:
def df_2_sql(df):
df.to_sql(f'df', engine, index=False)
df_list = [df_table_a, df_table_b, df_table_c]
for df in df_list:
df_2_sql(df)
...I've expected f'df'
to work, but it sadly doesn't. I want to use df_list as as pandas objects as well as part of the table name in the to_sql()
function.
I've already tried to use two lists
df_list = [df_table_a, df_table_b, df_table_c]
df_list = ['df_table_a', 'df_table_b', 'df_table_c']
..and a function which expects two arguments, but it doesn't feel right or smart. What am I doing wrong?
python python-3.x pandas
add a comment |
Basically my code looks like this surrounded by some logging:
df_name.to_sql('df_name', engine, index=False)
What I would like to do is to wrap it into a function and use df_name
twice:
def df_2_sql(df):
df.to_sql(f'df', engine, index=False)
df_list = [df_table_a, df_table_b, df_table_c]
for df in df_list:
df_2_sql(df)
...I've expected f'df'
to work, but it sadly doesn't. I want to use df_list as as pandas objects as well as part of the table name in the to_sql()
function.
I've already tried to use two lists
df_list = [df_table_a, df_table_b, df_table_c]
df_list = ['df_table_a', 'df_table_b', 'df_table_c']
..and a function which expects two arguments, but it doesn't feel right or smart. What am I doing wrong?
python python-3.x pandas
You may find this useful.
– Shayn
Nov 15 '18 at 15:31
add a comment |
Basically my code looks like this surrounded by some logging:
df_name.to_sql('df_name', engine, index=False)
What I would like to do is to wrap it into a function and use df_name
twice:
def df_2_sql(df):
df.to_sql(f'df', engine, index=False)
df_list = [df_table_a, df_table_b, df_table_c]
for df in df_list:
df_2_sql(df)
...I've expected f'df'
to work, but it sadly doesn't. I want to use df_list as as pandas objects as well as part of the table name in the to_sql()
function.
I've already tried to use two lists
df_list = [df_table_a, df_table_b, df_table_c]
df_list = ['df_table_a', 'df_table_b', 'df_table_c']
..and a function which expects two arguments, but it doesn't feel right or smart. What am I doing wrong?
python python-3.x pandas
Basically my code looks like this surrounded by some logging:
df_name.to_sql('df_name', engine, index=False)
What I would like to do is to wrap it into a function and use df_name
twice:
def df_2_sql(df):
df.to_sql(f'df', engine, index=False)
df_list = [df_table_a, df_table_b, df_table_c]
for df in df_list:
df_2_sql(df)
...I've expected f'df'
to work, but it sadly doesn't. I want to use df_list as as pandas objects as well as part of the table name in the to_sql()
function.
I've already tried to use two lists
df_list = [df_table_a, df_table_b, df_table_c]
df_list = ['df_table_a', 'df_table_b', 'df_table_c']
..and a function which expects two arguments, but it doesn't feel right or smart. What am I doing wrong?
python python-3.x pandas
python python-3.x pandas
edited Nov 15 '18 at 14:40
jpp
103k2167117
103k2167117
asked Nov 15 '18 at 13:47
ChristianChristian
649
649
You may find this useful.
– Shayn
Nov 15 '18 at 15:31
add a comment |
You may find this useful.
– Shayn
Nov 15 '18 at 15:31
You may find this useful.
– Shayn
Nov 15 '18 at 15:31
You may find this useful.
– Shayn
Nov 15 '18 at 15:31
add a comment |
1 Answer
1
active
oldest
votes
Use a dictionary
It's not a good idea to convert variable names to strings. If you need this functionality, construct a dictionary and feed key-value pairs to your function:
def df_2_sql(df, name):
df.to_sql(name, engine, index=False)
df_dict = 'df_table_a': df_table_a,
'df_table_b': df_table_b,
'df_table_c': df_table_c
for name, df in df_dict.items():
df_2_sql(df, name)
If this seems verbose and inefficient, note you must have defined df_table_a
, df_table_b
, etc earlier in your code somewhere. Just use a dictionary from the very beginning and assign to df_dict['df_table_a']
, df_dict['df_table_b']
, etc.
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%2f53320890%2fhow-to-use-a-function-attribute-as-python-object-as-well-as-string%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
Use a dictionary
It's not a good idea to convert variable names to strings. If you need this functionality, construct a dictionary and feed key-value pairs to your function:
def df_2_sql(df, name):
df.to_sql(name, engine, index=False)
df_dict = 'df_table_a': df_table_a,
'df_table_b': df_table_b,
'df_table_c': df_table_c
for name, df in df_dict.items():
df_2_sql(df, name)
If this seems verbose and inefficient, note you must have defined df_table_a
, df_table_b
, etc earlier in your code somewhere. Just use a dictionary from the very beginning and assign to df_dict['df_table_a']
, df_dict['df_table_b']
, etc.
add a comment |
Use a dictionary
It's not a good idea to convert variable names to strings. If you need this functionality, construct a dictionary and feed key-value pairs to your function:
def df_2_sql(df, name):
df.to_sql(name, engine, index=False)
df_dict = 'df_table_a': df_table_a,
'df_table_b': df_table_b,
'df_table_c': df_table_c
for name, df in df_dict.items():
df_2_sql(df, name)
If this seems verbose and inefficient, note you must have defined df_table_a
, df_table_b
, etc earlier in your code somewhere. Just use a dictionary from the very beginning and assign to df_dict['df_table_a']
, df_dict['df_table_b']
, etc.
add a comment |
Use a dictionary
It's not a good idea to convert variable names to strings. If you need this functionality, construct a dictionary and feed key-value pairs to your function:
def df_2_sql(df, name):
df.to_sql(name, engine, index=False)
df_dict = 'df_table_a': df_table_a,
'df_table_b': df_table_b,
'df_table_c': df_table_c
for name, df in df_dict.items():
df_2_sql(df, name)
If this seems verbose and inefficient, note you must have defined df_table_a
, df_table_b
, etc earlier in your code somewhere. Just use a dictionary from the very beginning and assign to df_dict['df_table_a']
, df_dict['df_table_b']
, etc.
Use a dictionary
It's not a good idea to convert variable names to strings. If you need this functionality, construct a dictionary and feed key-value pairs to your function:
def df_2_sql(df, name):
df.to_sql(name, engine, index=False)
df_dict = 'df_table_a': df_table_a,
'df_table_b': df_table_b,
'df_table_c': df_table_c
for name, df in df_dict.items():
df_2_sql(df, name)
If this seems verbose and inefficient, note you must have defined df_table_a
, df_table_b
, etc earlier in your code somewhere. Just use a dictionary from the very beginning and assign to df_dict['df_table_a']
, df_dict['df_table_b']
, etc.
edited Nov 15 '18 at 15:03
answered Nov 15 '18 at 14:40
jppjpp
103k2167117
103k2167117
add a comment |
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%2f53320890%2fhow-to-use-a-function-attribute-as-python-object-as-well-as-string%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
You may find this useful.
– Shayn
Nov 15 '18 at 15:31