Python - 从不带单引号的目录中读取文件
Python - Reading files from Directory without single quotes
我想知道是否有一种方法可以从您的目录中读取不带单引号的文件。我的目录有几个具有相同后缀的地理数据框。我可以将它们全部读入并附加到列表中,但该列表将在每个 DataFrame 名称周围包含单引号,使其成为 str.
dir()
'sub_geo_group_mangrove',
'sub_geo_group_marsh',
'sub_geo_group_multipolygon',
'sub_geo_group_pan',
'sub_geo_group_reedbed'
我正在使用这些文件插入循环,因此需要文件名本身不带单引号
编辑
所有数据框的格式如下:
sub_geo_group_mangrove.head(2)
geometry wetland
43 MULTIPOLYGON (((12.41310 -6.10921, 12.41274 -6... mangrove
59 POLYGON ((12.30671 -6.15770, 12.30654 -6.15741... mangrove
我正在尝试将每个 DataFrame 读入以下行:
我很确定,您在这里尝试实现的目标实际上是没有必要的。但我会根据我对您的要求的了解来回答您的问题。
因为,您正在尝试在循环结构中使用数据帧名称,我假设数据帧在循环范围内可用。
您已在示例中使用 dir()
命令显示。
来自 python 文档:
dir(...)
dir([object]) -> list of strings
If called without an argument, return the names in the current scope.
现在假设您的 DataFrame 名称所在的列表是
dfnames = ['sub_geo_group_mangrove','sub_geo_group_marsh','sub_geo_group_multipolygon',...]
根据我对你提到的问题的了解:
现在要循环遍历它们,您无法执行以下操作:
for df in dfnames:
#do something with this df
因为 type(df)
是字符串。
此时您可以做几件事。我认为最理想的是:
for name in dfnames:
df = vars()[name]
# do something with this df
vars()
不带参数类似于 locals()
.
vars()
returns 本地范围内使用的变量字典。
这个字典中的键是字符串类型的变量名,与它们关联的值是这些变量关联的数据。
我想知道是否有一种方法可以从您的目录中读取不带单引号的文件。我的目录有几个具有相同后缀的地理数据框。我可以将它们全部读入并附加到列表中,但该列表将在每个 DataFrame 名称周围包含单引号,使其成为 str.
dir()
'sub_geo_group_mangrove',
'sub_geo_group_marsh',
'sub_geo_group_multipolygon',
'sub_geo_group_pan',
'sub_geo_group_reedbed'
我正在使用这些文件插入循环,因此需要文件名本身不带单引号
编辑
所有数据框的格式如下:
sub_geo_group_mangrove.head(2)
geometry wetland
43 MULTIPOLYGON (((12.41310 -6.10921, 12.41274 -6... mangrove
59 POLYGON ((12.30671 -6.15770, 12.30654 -6.15741... mangrove
我正在尝试将每个 DataFrame 读入以下行:
我很确定,您在这里尝试实现的目标实际上是没有必要的。但我会根据我对您的要求的了解来回答您的问题。
因为,您正在尝试在循环结构中使用数据帧名称,我假设数据帧在循环范围内可用。
您已在示例中使用 dir()
命令显示。
来自 python 文档:
dir(...)
dir([object]) -> list of stringsIf called without an argument, return the names in the current scope.
现在假设您的 DataFrame 名称所在的列表是
dfnames = ['sub_geo_group_mangrove','sub_geo_group_marsh','sub_geo_group_multipolygon',...]
根据我对你提到的问题的了解:
现在要循环遍历它们,您无法执行以下操作:
for df in dfnames:
#do something with this df
因为 type(df)
是字符串。
此时您可以做几件事。我认为最理想的是:
for name in dfnames:
df = vars()[name]
# do something with this df
vars()
不带参数类似于 locals()
.
vars()
returns 本地范围内使用的变量字典。
这个字典中的键是字符串类型的变量名,与它们关联的值是这些变量关联的数据。