知行编程网知行编程网  2022-12-04 11:30 知行编程网 隐藏边栏  4 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python写文件及数据处理的简单操作的相关知识,包括用python处理数据,以及Python 写文件这些编程知识,希望对大家有参考作用。

光是看字面意思,整个过程应该都出现在了大家的脑海里。和老师上课的意思是一样的。先阅读,学习,再理解。因此,本章的内容也适用于这一过程。一起来看看吧~


默认情况下,python 以只读模式打开文件。如果要写入内容,需要在打开文件时指定


打开模式为写入:

f = open('output.txt', 'w')

'w'是写入,以这种方式打开文件,原文件中的内容会被你写入的新内容覆盖,如果文件不存在,会自动创建文件。

不加参数时,默认为'r'给你,reading,只读模式,文件必须存在,否则会抛出异常。


另外还有一种模


公式是'a',追加。也是写模式,但是你写的内容不会覆盖之前的内容,而是会添加到文件中。

python写文件和数据处理的简单操作



输出文件:

python写文件和数据处理的简单操作



示例演示——利用python操作数据处理


看一下我们的文档里的数据:

刘备 23 35 44 47 51
关羽 60 77 68
张飞 97 99 89 91
诸葛亮 100


1.先把文件读进来:

f = file('scores.txt')


2.获取文件中的数据。由于每一行都是学生成绩的记录,因此使用


readlines,把每一行分开,便于之后的数据处理:

lines = f.readlines()
f.close()

提示:在程序中,经常使用print查看数据的中间状态,可以方便你理解程序的运行情况。例如,你可以在此处打印行以查看内容以何种格式保存。

3.处理每条数据。按照空格,把名字和每一个分数分开:

for line in lines:
data = line.split()

接下来的4、5两步是处理一条数据,所以都在for循环里面。

4.整个程序的核心部分来了。如何合并一个学生的多个年级并保存?我的做法是:对每一条数据,新建一个字符串,把学生的名字和计算出来的总分保存在里面。最后,将这些字符串一起保存在一个文件中:

sum = 0
for score in data[1:]:
sum += int(score)
result = '%s\t: %d\n' % (data[0], sum)



这里几个要注意的点:

对于每一行分割的数据,data[0]是姓名,data[1:]是所有成绩组成的列表。
每次循环中,sum都要先清零。
score是一个字符串,为了做计算,需要转成整数值int。
result中,我加了一个制表符\t和换行符\n,让输出的结果更好看些。


5.得到一个学生的总成绩后,把它添加到一个list中。

results.append(result)
results需要在循环之前初始化results = []

6、最后,所有结果处理完毕后,将结果中的内容保存到文件中。因为results是一个字符串列表,所以这里直接使用writelines方法:

output = file('result.txt', 'w')
output.writelines(results)
outpus.close()

python写文件和数据处理的简单操作



输出结果:

python写文件和数据处理的简单操作


以上就是关于python读写文件的全部内容了,一起来试试吧~如需更多python实用知识,点击进入

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享