python文件读写,多行数据处理后写入新文件

python文件读写,多行数据处理后写入新文件

题目:形成一个新的文件,保持原来的数据内容,添加一列数据,利用总量GDP和人均GDP数据,推算每个市的人口数据,到每个市最后,并计算江苏省GDP总量和江苏省人均GDP,添加到最后一行。

数据编码为UTF-8格式,数据如下:
在这里插入图片描述
代码如下:

import os
import codecs
os.chdir("D:\\pythonchaozuo")
f1=open("JSGDP.txt","r",encoding='UTF-8') 
f2=open("result.txt","w",encoding='UTF-8')
a=f1.readlines()#读取所有行
c3=0
c4=0
for i in range(0,len(a)):
    a[i]=a[i].strip()
    if(i==0):#标题行添加'人口数据'
        a[i]=a[i]+','+''+'人口数据'+'\n'
        
    else:
        b=a[i].split(',')
        c1=round(float(b[1])/float(b[3])*10e8,2)#人口数据,网上数据显示南京市人口为约827万人,故*10^8
        c2=round(float(b[1])/float(b[3]),2)#计算人口数据,保留2位小数
        c3=c3+c2#计算总人口
        c4=c4+float(b[1])#计算总GDP
        a[i]=a[i]+','+''+str(c1)+'\n'#添加人口数据到每行
f2.writelines(a)#将含人口数据的a列表写入result.txt
total_GDP=round(c4,2)#总GDP保留两位小数
average_GDP=round(c4/c3,2)#计算平均GDP,并保留两位小数
d=[]
d='总GDP:'+str(total_GDP)+','+''+'人均GDP:'+str(average_GDP)+'\n'
f2.writelines(d)

f1.close()
f2.close()
with open("result.txt","r",encoding='UTF-8') as f3:
    content=f3.read()
    print(content)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值