鱼C论坛

 找回密码
 立即注册
查看: 714|回复: 3

[已解决]python文件操作

[复制链接]
头像被屏蔽
发表于 2021-11-27 19:57:02 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
 楼主| 发表于 2021-11-27 20:01:27 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-27 20:58:29 | 显示全部楼层    本楼为最佳答案   
建议以后提问,贴代码和数据时用代码框,就算不用代码框也不要用图片,我觉得如果你贴的时文本的话,应该早就有人来回答了~~
  1. with open("score1.txt","r") as fp_r:
  2.     #第一行
  3.     header = fp_r.readline().strip()+",总成绩"
  4.    
  5.     #读取数据保存在records中
  6.     records =[]
  7.     record=fp_r.readline()
  8.     while record:
  9.         records.append(record.split(","))
  10.         record=fp_r.readline()

  11.     #分数转化为int型,并计算个人总成绩
  12.     for record in records:
  13.         record[2] =int(record[2])
  14.         record[3] =int(record[3])
  15.         record[4] =int(record[4])
  16.         record.append(int(record[2]+record[3]+record[4]))

  17.     #为计算各科数据分列保存数据在zip_list中
  18.     zip_list = list(zip(*records))
  19.    
  20. with open("score2.txt","w") as fp_w:
  21.     #写入第一行
  22.     fp_w.write(header)
  23.     fp_w.write("\n")
  24.     #写入每个学生数据
  25.     for record in records:
  26.         fp_w.write(",".join([str(item) for item in record]))
  27.         fp_w.write("\n")
  28.     #写入最高分
  29.     fp_w.write(",".join(["统计",
  30.                          "最高分",
  31.                          str(max(zip_list[2])),
  32.                          str(max(zip_list[3])),
  33.                          str(max(zip_list[4])),
  34.                          str(max(zip_list[5]))
  35.                          ]
  36.                         )
  37.                )
  38.     fp_w.write("\n")
  39.     #写入最低分
  40.     fp_w.write(",".join(["统计",
  41.                      "最低分",
  42.                      str(min(zip_list[2])),
  43.                      str(min(zip_list[3])),
  44.                      str(min(zip_list[4])),
  45.                      str(min(zip_list[5]))
  46.                      ]
  47.                     )
  48.            )
  49.     fp_w.write("\n")
  50.     #写入平均分
  51.     record_no = len(records)
  52.     fp_w.write(",".join(["统计",
  53.                      "平均分",
  54.                      str(sum(zip_list[2])/record_no),
  55.                      str(sum(zip_list[3])/record_no),
  56.                      str(sum(zip_list[4])/record_no),
  57.                      str(sum(zip_list[5])/record_no)
  58.                      ]
  59.                     )
  60.            )
复制代码


注:这种类型的数据处理其实用numpy或者pandas最好了,不过我估计应该时不允许使用非python自带函数~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

头像被屏蔽
 楼主| 发表于 2021-11-28 09:32:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 10:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表