从列或字段创建多个工作簿

时间:2017-02-28 18:06:51

标签: python excel pandas dataframe

我在

中阅读了我想要的文件后
set.seed(1)
life<-function(n){
n
tfailC1<-runif(n, min=0, max=500)
tfailC2<-runif(n, min=0, max=500)
tfailP<-runif(n, min=0, max=1500)
tfailC=0
ttotalfail=0
for (i in 1:n) {

 if
 (tfailC1>tfailC2)
 {tfailC<-tfailC1}
 else
 {tfailC<-tfailC2}

if (tfailC>tfailP)

{ttotalfail<-tfailP}
else
{ttotalfail<-tfailC}
 }
 return(ttotalfail)
 }

说我在表中有一个列或字段名为:

df = pd.read_sas('test.sas7bdat')

我希望通过名称为该列中的每个个人制作一个Excel文档。是他们这样做的方法,无需手动完成并为每个人手动制作脚本。我希望程序基本上接受该列,并按名称为每个人踢出多个excel工作簿。

1 个答案:

答案 0 :(得分:1)

这是基于我认为你要求的我的尝试。我从某个列中获取值列表,创建一个df,过滤掉除一个人之外的所有其他人,然后为每个名称创建一个文件,其名称为该人的姓名。如果您需要帮助或者这不是您要求的,请告诉我:

df1 = pd.DataFrame({'A' : [np.NaN,np.NaN,0,np.NaN], 
                    'B' : [0,0,1,3], 
                    'C' : ['Mary','Bob', 'Nancy','Chris'], 
                    'D' : [123456,123456,1234567,12345678],
                    'E' : ['Assign','Unassign','Assign','Ugly']})

names= list(df1['C'].values)

for person in names:
    df2= df1[df1['C'] == person]
    writer = pd.ExcelWriter('YOUR PATH HERE' + str(person) + '.xlsx')
    df2.to_excel(writer, person)