Ldvdvdb 2022-12-22 16:00 采纳率: 25%
浏览 48
已结题

疫情问诊自动统计系统问卷选择题统计


def wenjuan():
    reuser=input('请再次输入您的用户名:')
    print(f'欢迎【{reuser}】用户参与疫情问诊自动统计系统!')
    xz1=[]
    xz2=[]
    xz3=[]
    xz4=[]
    xz5=[]
    wd1=[]
    wd2=[]
    xz1=input('1.有无发烧症状?\n(A)有 (B)无:')
    xz2=input('2.有无咳嗽症状?\n(A)有 (B)无')
    xz3=input('3.有无身体酸痛症状?\n(A)有 (B)无')
    xz4=input('4.有无咽喉不适症状?\n(A)有 (B)无')
    xz5=input('5.有无味觉、嗅觉不灵敏或失灵?\n(A)有 (B)无')
    wd1=input('6.已经持续多少天了?')
    wd2=input('7.有无其他不适?')
    with open('./tjlist.csv', 'a+', encoding='utf-8') as c:
        c.write(f'{xz1}{xz2}{xz3}{xz4}{xz5}')

(提供选择题结果统计功能:对所得到的的问诊结果中的选择问卷进行数据统计,将选择题部分的答案进行汇总显示。提供问答结果查询功能:对问答问卷进行敏感词过滤后将查询结果展示出来。)
怎样才可以把那个CSV里面的数据统计出来呀,把xz1~xz5的数据统计,就统计A和B,搜了网上的教程,感觉都不太对

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-22 16:11
    关注

    望采纳

    可以把 xz1~xz5 的数据放入一个 list 中,然后使用 list 的 count 方法统计 A 和 B 的数量,代码如下:

    xz_list = [xz1, xz2, xz3, xz4, xz5]
    a_count = xz_list.count('A')
    b_count = xz_list.count('B')
    
    print(f'A 的数量是 {a_count},B 的数量是 {b_count}')
    

    如果希望更细致地统计每个问题中 A 和 B 的数量,可以使用一个字典来存储统计结果,然后再按照问题名称输出统计结果,代码如下:

    xz_dict = {
        '有无发烧症状': xz1,
        '有无咳嗽症状': xz2,
        '有无身体酸痛症状': xz3,
        '有无咽喉不适症状': xz4,
        '有无味觉、嗅觉不灵敏或失灵': xz5
    }
    
    for question, answer in xz_dict.items():
        a_count = answer.count('A')
        b_count = answer.count('B')
        print(f'{question} 的 A 的数量是 {a_count},B 的数量是 {b_count}')
    

    最后,如果你想把统计结果写入 CSV 文件中,你可以使用 Python 的 csv 模块,代码如下:

    import csv
    
    # 读取答案
    answers = []
    with open('./tjlist.csv', 'r', encoding='utf-8') as f:
        reader = csv.reader(f)
        for row in reader:
            answers.append(row)
    
    # 统计答案数量
    result = {'A': 0, 'B': 0}
    for answer in answers:
        result[answer[0]] += 1
    
    # 写入 CSV 文件
    with open('./result.csv', 'w', encoding='utf-8', newline='') as f:
        writer = csv.writer(f)
        writer.writerows(result.items())
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月30日
  • 已采纳回答 12月22日
  • 创建了问题 12月22日

悬赏问题

  • ¥200 如何使用postGis实现最短领规划?
  • ¥15 pyinstaller打包错误
  • ¥20 cesm的气溶胶排放文件
  • ¥15 逐月累计,月份不连续,补齐月份
  • ¥15 应用简单的Python代码完成一个学生成绩管理系统
  • ¥15 用matlab求微分方程初值问题
  • ¥15 vscode下编写第三方库opencv与pcl代码时没有代码提示
  • ¥15 能够跑通不报错,如何解决?(标签-matlab)
  • ¥15 MOS在RDS较大,频率高时开关波形异常
  • ¥15 SCENIC分析报错求解答