打开一个文件夹,然后在 Python 中正确使用文件 [复制]

open a folder to then use the files in python correctly [duplicate]

提问人:mw00847 提问时间:1/25/2023 最后编辑:Fractalismmw00847 更新时间:1/25/2023 访问量:78

问:

通常,我会导航到要从中提取数据的文件夹并直接复制文件名:

df2=pd.read_csv('10_90_bnOH-MEA.csv',usecols=[1])

如果我有多个文件,并且想对所有文件执行相同的操作,如何指定要打开的文件夹并获取其中的所有文件?

我想在不指定文件的完整路径的情况下运行上面的代码 (C:\Users\X\Desktop\Y\Z\10_90_bnOH-MEA.csv)

评论

0赞 Aaron 1/25/2023
您是否在问如何更改 Python 的工作目录 (os.chdir)?

答:

0赞 en_lorithai 1/25/2023 #1

您需要 os 模块中的 listdir。

import os

path = "C:\\Users\\X\\Desktop\\Y\\Z\\"
files = os.listdir(path)
print(files)

dataframe_list = []
for filename in files:
    dataframe_list.append(pd.read_csv(os.path.join(path,filename)))
0赞 Kārlis Kazāks 1/25/2023 #2

您应该打开所需的目录并遍历所有文件,然后对它们执行某些操作。

# import required module
import os
# assign directory
directory = 'files'
 
# iterate over files in
def goThroughDirectory(directory):
    for filename in os.listdir(directory):
        f = os.path.join(directory, filename)
        # checking if it is a file
        if os.path.isfile(f):
            # do something

如果你还想遍历一个目录中的所有文件,你应该添加一个这样的检查if os.path.isdir(f)

...

def goThroughDirectory(directory):
    for filename in os.listdir(directory):
        f = os.path.join(directory, filename)
        # checking if it is a file
        if os.path.isfile(f):
            # do something
        elif os.path.isdir(f):
            # its not a file but a directory then loop through that directory aswell
            goThroughDirectory(directory + "\" + f)

有关更多信息,您应该检查 geeksforgeeks