如何在Python中获取数据帧的名称?
我有下面的python函数将数据帧导出到csv文件。我用下面的脚本来命名它如何在Python中获取数据帧的名称?,python,dataframe,python-3.6,Python,Dataframe,Python 3.6,我有下面的python函数将数据帧导出到csv文件。我用下面的脚本来命名它 finalExport(dataAllR, sourcePath, header, started) dataAllR:数据帧的名称 sourcePath:路径 标题:列列表 已启动:时间 我想使用在脚本中调用函数时传递的数据帧的名称,即dataAllR: exportPath = exportPath + '\\final_py_upload' + data + '.csv' #
finalExport(dataAllR, sourcePath, header, started)
:数据帧的名称dataAllR
:路径sourcePath
:列列表标题
:时间已启动
我想使用在脚本中调用函数时传递的数据帧的名称,即
dataAllR
:
exportPath = exportPath + '\\final_py_upload' + data + '.csv'
# ^
我想根据数据帧名称生成文件名
请对此提供帮助。由于Python允许您为对象指定任意属性名称,因此您可以将名为
name
的属性指定给数据帧以表示其名称:
import pandas as pd
df = pd.DataFrame()
df.name = 'My Data Frame'
print(df.name) # My Data Frame
在您的情况下,在为dataAllR
定义name
属性之后:
dataAllR.name = 'dataAllR'
您可以使用:
exportPath = exportPath + '\\final_py_upload' + data.name + '.csv'
或者,更好的是:
exportPath = f'{exportPath}\\final_py_upload{data.name}.csv'
事实上,Python值没有名称,它们被绑定到名称上(有时-参见第二个示例)。当我写作时
a = "a string"
b = a
lst = ["orange", "banana", "apple"]
“字符串”的名称是什么<代码>a
,或b
,或两者兼而有之?同样,当我写作时
a = "a string"
b = a
lst = ["orange", "banana", "apple"]
“苹果”的名字是什么lst[2]
不是名称,而是对容器元素的引用。讨论了对Python还比较陌生的人可能造成混淆的原因
不幸的是(?)熊猫数据帧没有
名称
属性或类似属性。考虑到Python的灵活性,定义一个维护了这样一个属性的NamedDataFrame子类将非常容易,不过您将首先面临如何派生这些名称的问题。@Christian Dean,yes data。name@Christian迪恩,非常感谢,我会查一查。看看我的答案。我有点不正确。您必须自己为数据帧命名。请注意,f'…{}…'
语法仅在Python 3.6和中可用up@holdenweb是的,我知道。他在标题“python 3.6”中明确表示。我刚刚删掉了。我将在Python3.6标记中进行编辑。@Christian Dean,我使用了dataAllR.name='dataAllR',简单的一个。谢谢