首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从.config文件获取路径时错误

从.config文件获取路径时错误
EN

Stack Overflow用户
提问于 2020-06-01 13:36:19
回答 1查看 148关注 0票数 1

尝试使用(.config)文件创建数据帧以获取文件,但在从下面的文件创建Dataframe时出错

实际文件name:rgf_ltd_060520202

my config fil的示例结构(它是分离的管道):

代码语言:javascript
复制
...|/user/Doc/ABC/rgf_ltd_[0-9]*|CSV|Collection

从这里开始,当我试图通过在脚本中获取我的配置文件来创建数据帧时

代码语言:javascript
复制
import pandas as pd

#fetching details fromconfig file
with open('config','r') as rd:
   lines=rd.readlies() 
   for line in lines:
       f_path=#fetching my csv file path(/user/Doc/ABC/rgf_ltd_[0-9]*)

当我在/user/Doc/ABC/rgf_ltd_0-9*函数中传递f_path时,上面的部分工作文件和read_csv也是由python脚本获取的。

代码语言:javascript
复制
#dataframe 
data=pd.read_csv(f_path,sep='|',engine='python')

当我执行上面的脚本解释器时,抛出一个错误:

代码语言:javascript
复制
No such file or Directory:/user/Doc/ABC/rgf_ltd_[0-9]*

我给这个正则表达式,使我的路径更动态

EN

回答 1

Stack Overflow用户

发布于 2020-06-07 19:39:05

pandas.read_csv不处理文件读取的regex模式,您可以使用python glob.glob模块来获得与shell样式通配符类似的结果。

返回一个可能为空的路径名称列表,该列表必须是包含路径规范的字符串。路径名可以是绝对的(如/usr/src/Python-1.5/Makefile),也可以是相对的(如.//..gif),并且可以包含shell风格的通配符。结果中包括破碎的符号链接(如shell中的一样)。结果是否排序取决于文件系统。

代码语言:javascript
复制
import glob
import os
import pandas as pd

f_path = os.path.join("user","Doc", "ABC")
f_pattern = "rgf_ltd_[0-9]*"

file_list = glob.glob(os.path.join(f_path, f_pattern))
print(file_list) # ['user\\Doc\\ABC\\rgf_ltd_3498543058']

# dataframe
data = pd.read_csv(file_list[0], sep='|', engine='python')
print(data)

数据输出

代码语言:javascript
复制
             Col0            Col1            Col2
0  InsideRGF_R0C0  InsideRGF_R0C1  InsideRGF_R0C2
1  InsideRGF_R1C0  InsideRGF_R1C1  InsideRGF_R1C2
2  InsideRGF_R2C0  InsideRGF_R2C1  InsideRGF_R2C2
3  InsideRGF_R3C0  InsideRGF_R3C1  InsideRGF_R3C2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62133500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档