Python中的Glob包。文件路径以\\代替/附加。期望正斜杠而不是2个反斜杠

问题描述 投票:0回答:1

我正在使用glob API将我的所有CSV加载到列表中。执行完代码后,我在文件路径中的data_list append \而不是/ csv数据文件名之前的/中实现了结果。

我的python代码文件位于此位置:C:\ Documents \ python-workspace \ analysis.py

我的4个CSV数据在此位置:

  1. C:\ Documents \ python-workspace \ data \ vitalstrike \ user-site-export \ data-1.csv

  2. C:\ Documents \ python-workspace \ data \ vitalstrike \ user-site-export \ data-2.csv

  3. C:\ Documents \ python-workspace \ data \ vitalstrike \ user-site-export \ data-3.csv

  4. C:\ Documents \ python-workspace \ data \ vitalstrike \ user-site-export \ data-4.csv

下面是我将文件加载到列表中的代码

import pandas as pd
import pandas_profiling
import glob

data_list = glob.glob('data/vitalstrike/user-site-export/data-*')
display(data_list)

执行代码后,我意识到data_list中的结果将csv数据文件名附加为'\\'而不是'/'。任何建议如何将其强制为/?

In[15]: display(data_list)
['data/vitalstrike/user-site-export\\data-1.csv',
 'data/vitalstrike/user-site-export\\data-2.csv',
 'data/vitalstrike/user-site-export\\data-3.csv']
python glob
1个回答
0
投票

您可以使用os.path.join创建全局参数,以确保搜索模式使用正确的OS分隔符(取决于运行的OS):

import os
import glob

dirs = ['data', 'vitalstrike', 'user-site-export', 'data-*']
data_list = glob.glob(os.path.join(*dirs))

目录输出:

data/vitalstrike/user-site-export/data-*  # Mac/*nix
data\vitalstrike\user-site-export\data-*  # Windows
© www.soinside.com 2019 - 2024. All rights reserved.