如何在 Python 中使用变量名作为字符串
How to use a variable name as string in Python
在 Python 中,我创建了一堆数据框,如下所示:
df1 = pd.read_csv("1.csv")
...
df50 = pd.read_csv("50.csv") # import modes may vary based on the csv, no real way to shorten this
对于每个数据帧,我想执行一个操作,需要指定一个字符串作为名称。例如,给定一个现有数据库 db
,
df1.to_sql("df1", db) # and so on.
数据帧可能有一个非连续的名字,所以我不能for i in range(1,51): "df"+str(i)
。
我正在寻找执行此操作的正确方法,而不是将此行重复 50 次。我的想法是
for df in [df1, df2... df50]:
df.to_sql(df.__name__, db) # but dataframes don't have a __name__
- 如何从调用
df1
的数据框中获取字符串 "df1"
?
- 有没有更好的方法来完成这一切?
如果您真的想访问该名称,请参阅 this answer,但一般来说,如链接答案中所述,您可能不应该这样做。
在 Python 中,我创建了一堆数据框,如下所示:
df1 = pd.read_csv("1.csv")
...
df50 = pd.read_csv("50.csv") # import modes may vary based on the csv, no real way to shorten this
对于每个数据帧,我想执行一个操作,需要指定一个字符串作为名称。例如,给定一个现有数据库 db
,
df1.to_sql("df1", db) # and so on.
数据帧可能有一个非连续的名字,所以我不能for i in range(1,51): "df"+str(i)
。
我正在寻找执行此操作的正确方法,而不是将此行重复 50 次。我的想法是
for df in [df1, df2... df50]:
df.to_sql(df.__name__, db) # but dataframes don't have a __name__
- 如何从调用
df1
的数据框中获取字符串"df1"
? - 有没有更好的方法来完成这一切?
如果您真的想访问该名称,请参阅 this answer,但一般来说,如链接答案中所述,您可能不应该这样做。