从路径读取多个 CSV 文件

Reading multiple CSV files from path

我有一组 CSV 文件,我想从 Windows 路径读取它们。我的代码是这样的:

directory = os.listdir(r'C:\Users\User\Documents\etc...')

for files in directory:
    print(files)
    dataset = pd.read_csv(files, header = None)
    trainSet = dataset.values.tolist()
    editedSet = dataset.values.tolist()

问题是我收到错误 No such file or directory: "filename" 而文件当然存在于目录中。我找到的解决方案适用于纯文本文件,而我有 CSV。对我做错了什么有什么建议吗?

谢谢

os.listdir returns目录里面的文件列表relative到输入路径

您需要将其与输入路径结合起来才能实际调用该文件

base_dir = r'C:\Users\User\Documents\etc...'
directory = os.listdir(base_dir)

for files in directory:
    print(files)
    path = os.path.join(base_dir, files)
    print(path)
    dataset = pd.read_csv(path, header = None)
    trainSet = dataset.values.tolist()
    editedSet = dataset.values.tolist()

问题是您只提供文件名作为参数。您应该改用“路径”。

有很多方法可以解决这个问题。一种现代方法是使用 pathlib 而不是 os 进行文件管理。

这是 pathlib 的解决方案。

from pathlib import Path

root_path = Path(r'C:\Users\User\Documents\etc...')
file_paths = root_path.glob('*.csv')
files = [root_path.joinpath(file_path) for file_path in file_paths]

for file in files:
    print(file)
    dataset = pd.read_csv(file, header = None)
    trainSet = dataset.values.tolist()
    editedSet = dataset.values.tolist()