我正在开发一个循环,其中对指定目录中的每个csv进行重新采样,然后导出到新文件中。尽管尝试使用各种文件夹并使用确切的文件夹路径,但我仍收到FileNotFoundError。

# Specify folder name
serial = '015'

# Specify directory (note - '...' substitute for the full path used back to the drive letter)

root_dir = '...\\CleanTemps\\{}\\'.format(str(serial))

#loop
for filename in os.listdir(root_dir):
    if filename.endswith('.csv'):

        print(filename)

        # Pull in the file
        df = pd.read_csv(filename)


这将打印该文件夹中八个文件.csv文件的列表。但是,当使用以下代码提取文件时(作为df一对一修改),我收到FileNotFoundError:


#loop
for filename in os.listdir(root_dir):
    if filename.endswith('.csv'):

        # Pull in the file
        df = pd.read_csv(filename)

最佳答案

文件的路径由root_path +您的文件名组成,您可以使用:

from pathlib import Path

root_path = Path(root_dir)

for filename in os.listdir(root_path):
    if filename.endswith('.csv'):

        # Pull in the file
        df = pd.read_csv(root_path/filename)


或者您可以使用:

for filepath in root_path.glob("*.csv"):
    df = pd.read_csv(filepath)

关于python - 如何避免与os.listdir的FileNotFoundError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57761583/

10-11 15:14