为了账号安全,请及时绑定邮箱和手机立即绑定

通过迭代指定的数据帧值来创建新目录 Python Pandas Numpy

通过迭代指定的数据帧值来创建新目录 Python Pandas Numpy

Smart猫小萌 2021-11-30 16:52:01
我正在尝试通过从数据框中的特定列读取每一行来创建文件夹:import numpy as npimport pandas as pdimport osraw_df = pd.read_excel('C:/Users/home/Desktop/test/Inventory.xls')df = raw_df[["Barcode", "Brand", "product_name"]]raw_df:快照df:快照我当前的工作目录:C:\Users\home\Desktop\test\path = os.getcwd()new_path = os.chdir(path + "\\products\\")print ("The new working directory is %s" % os.getcwd())新的工作目录是 C:\Users\home\Desktop\test\products\for i in range(len(df)):    row = df.iloc[i]    barcode = row["Barcode"]    brand = row["Brand"]    product_name = row["Product_Name"]    if(("\\" + barcode + "\\__" + brand + "\\__" + product_name + "\\") == False):        os.makedir("\\" + barcode + "\\__" + brand + "\\__" + product_name + "\\")    else:        print("failed")我的输出:失败失败失败失败失败失败失败我在原始 df 中有超过 400 行,我只是在测试前 6 行。我想要实现的目标如下:最终结果快照所以我试图获取每一行并使用它们创建一个新目录,由双下划线“__”分隔。附加说明:我已经从工作目录(我自己创建的文件夹)中删除了文件夹并运行了上面的代码,但仍然没有达到我想要的结果。我会创建一个 bash 脚本,但这不是一个选项,因为在我遍历数据帧时,我需要用各种数据(例如图像等)填充这些文件夹。任何帮助将不胜感激。如果我能够破解这个问题,我将继续为此工作,并为每个人的利益报告一个解决方案。
查看完整描述

2 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

用os.path.joinand试试这个os.path.isdir:


for i in range(len(df)):

    row = df.iloc[i]

    barcode = row["Barcode"]

    brand = row["Brand"]

    product_name = row["Product_Name"]

    mypath = os.path.join(new_path, barcode, "__" + brand, "__" + product_name)

    if (os.path.isdir(mypath)):

        print("failed")

    else:

        os.mkdir(mypath)


查看完整回答
反对 回复 2021-11-30
?
茅侃侃

TA贡献1842条经验 获得超21个赞

感谢您的帮助并为我指明正确的方向,我设法使以下代码正常工作:


for i in range(len(df)):

    row = df.iloc[i]

    barcode = row["Barcode"]

    brand = row["Brand"]

    product_name = row["Product_Name"]


    mypath = os.getcwd() + "\\" + barcode + "__" + brand + "__" + product_name + "\\"


    if(os.path.isdir(path) == False):

        os.mkdir(path)

    else:

        print("failed")

正如@vercelli 所提到的,确保您的数据框不包含其字段中的任何值:


/:*?"<>|


由于这些是用于创建目录的无效字符,我对其他系统不太熟悉,但 windows 肯定不接受这些字符来创建具有这些值的目录。



查看完整回答
反对 回复 2021-11-30
  • 2 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信