问题描述
我有一个这样的数据框:
mgr1 mgr2 mgr3
abc def fed
asd dij
sdf
df确实包含空值
我正在尝试建立一个目录,其中唯一的mgr3
值是顶级文件夹的名称,mgr2
唯一的值是子文件夹,mgr1
唯一值是第二个子文件夹中的文件夹,等等。然后在每个文件夹中仅添加一个txt文件。
我采取了一种将每一列变成具有唯一字符串的变量,然后尝试执行一些for循环以基于这些字符串创建文件夹的方法,但是我没有成功。
#someting like this
mgr1 = list(set(df.mgr1))
mgr1 = [x for x in mgr1 if str(x) != 'nan']
mgr1 = ''.join(mgr1)
# print(mgr1)
for i in mgr1:
os.system ("mkdir "+i)
for j in range (1):
os.system ("touch "+str(i)+"/"+str(j)+".txt")
有什么想法吗?
尝试1:
import os
import sys
import pandas as pd
import itertools
df = pd.read_csv('sas-user-mappings-to-ceo.csv')
eight = df.loc[~df['mgr8'].isnull(),'mgr8'].tolist()
seven = df.loc[~df['mgr7'].isnull(),'mgr7'].tolist()
six = df.loc[~df['mgr6'].isnull(),'mgr6'].tolist()
five = df.loc[~df['mgr5'].isnull(),'mgr5'].tolist()
four = df.loc[~df['mgr4'].isnull(),'mgr4'].tolist()
three = df.loc[~df['mgr3'].isnull(),'mgr3'].tolist()
two = df.loc[~df['mgr2'].isnull(),'mgr2'].tolist()
one = df.loc[~df['mgr1'].isnull(),'mgr1'].tolist()
user_name = df.loc[~df['user_name'].isnull(),'user_name'].tolist()
# third = df.loc[~df['user_lid'].isnull(),'user_lid'].tolist()
paths = [list(x) for x in itertools.product(eight,seven,six,five,four,three,two,one,user_name)]
for pathToWrite in paths:
pathToWrite = "\Users\max\Downloads\users_visual"
toCreate = os.path.join("C:",pathToWrite)
os.mkdir(toCreate)
error: SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \UXXXXXXXX escape
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)