听说现在填写问卷调查还能赚钱?Python自动写一个问卷调查!

背景:社团与为中国而教合作,需要招募志愿者,使用问卷星发布了问卷,问题很多,其中有一个多选题,询问志愿者的空闲时间安排.最后需要按志愿者的时间安排,但是下载下来的表格却让人头疼


需要把同一个时间段的所有人选出来
于是用python写了个小脚本,记录下
使用jupyter notebook

import pandas as pd
data = pd.read_excel('C:\\Users\\dell\\Desktop\\aaa.xlsx', encoding = 'utf-8') 
#读取原始数据,指定UTF-8编码(需要用文本编辑器将数据装换为UTF-8编码)
data.drop_duplicates(['5、请输入您的QQ账号','4、请输入您的手机号码:'],keep='last')
#去重
data["1、您的姓名:"]=data["1、您的姓名:"]+"("+data["6、您想要教的科目"]+")"
data.set_index(["1、您的姓名:"], inplace=True)
#指定列索引为姓名+意向课程
12345678
#data_是处理数据的df,根据特殊字符将这一个大列分成若干小列
data_ = data["8、您能够参加的授课时间(课前二十分钟需进入课堂)"].str.split('┋',expand=True) 
data_
123

#查找所有不重复时间段,储存在列表thelist
thelist=[]
for index, row in data_.iterrows():
#遍历每一行
    for i in range(0,6):
    #每一列
        if row[i]!="None" and row[i]!=None and (row[i] not in thelist):
            thelist.append(row[i])
12345678
from pandas.core.frame import DataFrame
y=[]#空列表储存某确定时间段的志愿者姓名+意愿
for x in range(0,13):#上述13个时间段
    for index, row in data_.iterrows(): #遍历
        for i in range(0,6):
            if row[i]==thelist[x]:#两者时间段相同
#                 print(index)
                y.append(index)#向y中加入索引(索引为姓名+意向)
    c={thelist[x]:y}#转成字典
    cc=DataFrame(c)#转成df
    data_ = data_.reset_index()#重置索引为默认索引01234...
    data_=pd.concat([cc,data_], axis=1)#将上述df合并到data_中
    data_.set_index(["1、您的姓名:"], inplace=True)#重新将索引换回姓名+意向
    c={}#设回新列表字典,循环上述,只止所有时间段都被合并到data_
    y=[]
data_
12345678910111213141516


时间下面的是姓名+意向,0123下面是时间等等删掉

del data_[0]#懒得查能不能一下删掉了,CV挺简单
del data_[1]
del data_[2]
del data_[3]
del data_[4]
del data_[5]
del data_[6]
data_ = data_.reset_index(drop=True)
#将索引设为默认索引,并且不保留(drop=True)
data_.to_excel('C:\\Users\\dell\\Desktop\\bbb.xlsx', encoding = 'utf-8',index=False)
#保存到桌面,去除第一列索引(index=False)

完整项目获取点这里

猜你喜欢

转载自blog.csdn.net/weixin_43881394/article/details/108998393