如何在Python中排除熊猫数据框中的某些行

时间:2020-06-05 10:18:11

标签: python pandas

我有一个Excel工作表,其中包含文件夹名称列表。我必须阅读Excel工作表并在驱动器上创建文件夹名称。但是,如果该过程在创建过程中中断或存在异常,则当我重新运行该过程时,它应排除已经创建的文件夹。

下面是我当前的Python代码:

data = pd.read_excel(r'C://Users//file1//Desktop//folderlist.xls')
print(data["producttype"])#folder list is in producttype column name
print(data.head())
data.drop("Unnamed: 0",axis=1,inplace=True)
root=(r'C://Users//file1//Desktop//google//')
dirlist =pd.DataFrame( [ item for item in os.listdir(root) if os.path.isdir(os.path.join(root, item)) ])
df=pd.DataFrame([x[0] for x in os.walk(r'C://Users//file1//Desktop//google//')])
print(dirlist)
for i in dirlist:
    for k,j in enumerate(data["producttype"]):
        if i==j:
            data.drop(data.producttype.index[k],axis=0,inplace=True)

执行此操作时,它并不排除已经创建的文件夹。

有人可以帮助我解决此问题吗?

1 个答案:

答案 0 :(得分:2)

这个问题归结为安全地创建一个(嵌套的)目录,在这里回答: How can I safely create a nested directory?

此代码应能解决问题,该问题取自链接的问题:

import pandas as pd
from pathlib import Path

df_folders = pd.read_excel('file.xlsx', sheet_name='info', header=0)
for folder in df_folders['producttype']:
    Path(folder).mkdir(parents=True, exist_ok=True)