实际工作中,我们经常会遇到遍历某一个目录下的所有文件,通过会用os.walk()去访问,然而执行后生成的目录会是带\的路径,比如我下面的代码首先会生成E:/1#\path这种格式,所以我们要替换掉\,就需要用到Pandas.Series(要替换的字符串).str.replace(被替换的字符,要替换成的字符);此时path变量已经是Series对象了,所以要通过Series.values[0]来取值,unforunately,我是用windows支持读取的数据,所以还要通过encoding='gbk'处理才可以正确输出中文。
其实我之前试过一个比较简单的方法就是直接使用:要替换的字符串.replace(被替换的字符,要替换成的字符),可惜的是我没成功,所以我使用了上面我描述的方法。
下面是我的完整代码demo
for root,dirs,files in os.walk('E:/1#'): for file in files: path = os.path.join(root,file) path = pd.Series(path).str.replace(r"\\",'/') data = pd.read_csv(path.values[0],encoding='gbk') print(data.head())