标题:求助,怎么读取文件,计算后再写入文件
只看楼主
zzk_kun
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2021-3-19
结帖率:100%
已结贴  问题点数:10 回复次数:7 
求助,怎么读取文件,计算后再写入文件
这是文件
姓名    学号        英语    数学    语文    物理    平均分    总分
张三    10000001    92    89    71    79        
李四    10000002    98    92    39    61        
王五    10000003    92    98    79    85        
麻六    10000004    87    89    53    67        
唐七    10000005    94    96    75    83        
王海    10000006    98    96    48    68        
丘八    10000007    98    97    44    65        
杨九    10000008    89    94    52    68        
许十    10000009    93    92    52    68        

搜索更多相关主题的帖子: 文件 物理 计算 写入 读取 
2021-03-27 13:27
zyb159357
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:25
专家分:113
注 册:2021-3-15
得分:7 
#方案1:
import pandas as pd
df=pd.read_table("new.txt",sep=r"\s+")
df["总分"]= df.iloc[:,2:].sum(axis=1)
df["平均分"] = df.iloc[:,2:].mean(axis=1)
df.to_csv("new2.txt", index=False, sep=" ",encoding="utf8") #写入文件.


#方案2:
import re,fileinput
f=fileinput.input("./new.txt",inplace=1) #读取文件,使用写回模式.
for i,data in enumerate(f):
    if i != 0:
        lst=re.sub("\s+", " ",data).split()[2:] #获取分数.
        lst=list(map(int, lst)) #分数str转换成int型
        sum_=sum(lst)
        avg=sum_/4
        print(data.strip(), " "*5, avg, " "*5, sum_) #加入平均分,总分后写回文件.
    else:
        print(data.strip()) #第一行原样写回.
f.close()

   
   
2021-03-28 01:01
zzk_kun
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2021-3-19
得分:0 
回复 2楼 zyb159357
没有写入文档,第二方案直接把文档里的东西清空了
2021-03-28 22:23
zyb159357
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:25
专家分:113
注 册:2021-3-15
得分:0 
回复 3楼 zzk_kun
刚用你数据试了,没问题.
注: 请排除你后面是否有别的代码对文件(new.txt)进行写操作.?

[此贴子已经被作者于2021-3-28 23:08编辑过]

2021-03-28 22:57
zzk_kun
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2021-3-19
得分:0 
回复 4楼 zyb159357
方案一显示没有pandas这个模块
2021-03-28 23:07
zyb159357
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:25
专家分:113
注 册:2021-3-15
得分:0 
终端(cmd)运行 pip install pandas 进行模块安装
2021-03-28 23:10
zzk_kun
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2021-3-19
得分:0 
回复 6楼 zyb159357
好的,谢谢大佬,可以用了
2021-03-29 12:28
sssooosss
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:3
帖 子:664
专家分:1115
注 册:2019-8-27
得分:0 
共同学习
2021-03-31 08:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505261-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013329 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved