尝试使用(.config)文件创建数据帧以获取文件,但在从下面的文件创建Dataframe时出错
实际文件name:rgf_ltd_060520202
my config fil的示例结构(它是分离的管道):
...|/user/Doc/ABC/rgf_ltd_[0-9]*|CSV|Collection从这里开始,当我试图通过在脚本中获取我的配置文件来创建数据帧时
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脚本获取的。
#dataframe
data=pd.read_csv(f_path,sep='|',engine='python')当我执行上面的脚本解释器时,抛出一个错误:
No such file or Directory:/user/Doc/ABC/rgf_ltd_[0-9]*我给这个正则表达式,使我的路径更动态。
发布于 2020-06-07 19:39:05
pandas.read_csv不处理文件读取的regex模式,您可以使用python glob.glob模块来获得与shell样式通配符类似的结果。
返回一个可能为空的路径名称列表,该列表必须是包含路径规范的字符串。路径名可以是绝对的(如/usr/src/Python-1.5/Makefile),也可以是相对的(如.//..gif),并且可以包含shell风格的通配符。结果中包括破碎的符号链接(如shell中的一样)。结果是否排序取决于文件系统。
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)数据输出
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_R3C2https://stackoverflow.com/questions/62133500
复制相似问题