python利用read()、readline()、readlines()读取文件

2023-05-16

目录

1.语法和用法

2.实例


1.语法和用法

with open(file,mode='r',encoding=None) as f:
    #①读取所有文本
    data1 = f.read()
  
    #②读取第一行数据
    data2 = f.readline()  

    #③读取所有文本数据 
    data3 = f.readlines()

说明:

with  …… as ……:用于命名,也可以直接赋值的方式,比如a = b。

open():用于打开文件。

file:文件名,用英文引号引着文件所在地和文件名,比如'vote.txt'。

mode:读写模式,默认为‘r’读取文件,不存在该文件会报错。常用的还有‘w’写入文件,若文件不存在新建一个文件再写入;还有‘a’追加写入,存在文件则直接追加内容,不存在则新建文件中写入内容。

encoding:一般为‘utf-8’可以读取utf-8以及gbk格式的文本。


2.实例

(1)读取竞选文档并统计竞选名单。每行只能投一个人选,其他为无效票。

原文件vote.txt内容

 

#竞选名单统计
f = open("vote.txt",encoding='utf-8') #打开文件,默认为‘r’读取,用‘utf-8’编码防止读取中文乱码
names = f.readlines() #读取所有行,并命名为names
f.close() #关掉文件
D = {}  #自定义一个空字典D
for name in names: #用for循环迭代每一行投票结果
    if len(name.split())==1:  #当每一行投票名字只有一个才有效,其他无效
        D[name[:-1]]=D.get(name[:-1],0) + 1 #用字典的get方法统计
l = list(D.items()) #将获取的字典转为列表
l.sort(key=lambda s:s[1],reverse=True)  #按统计票数进行降序排序
name = l[0][0]  #提取第一名名字
score = l[0][1]  #提取第一名票数
print("最具人气明星为:{},票数为:{}".format(name,score)) #输出第一名人气名字和票数

输出结果为:

最具人气明星为:李四,票数为:2

(2)读取情感词频数据。

 

text = open("./qianhou_emotion.csv","r")
print("文件名为:",text.name)
d ={}
for line in text.readlines(): #迭代每一行
    line = line.strip()  #去掉空字符
    print("读取的数据为:%s"%line) #输出读取每行的数据

for line in text: #迭代每行各字段的数据  
    ls = str(line).strip('\r\n').split(',')  #将每行数据迭代切割,实际cvs文件是以逗号“,”分割
    print(ls)

print('{},{},{},{}\n'.format(ls[0],ls[1],ls[2],ls[3]))

参考文章:

 字典dict具体的使用方法可参考:python的dict字典的语法及实例_小白修炼晋级中的博客-CSDN博客_python字典的基本案例

for循环的具体使用方法可参考:python的for循环语句的用法及实例_小白修炼晋级中的博客-CSDN博客_python中for循环语句例子

split函数具体使用方法可参考:python如何将字符串进行拆分——split函数的用法及实例_小白修炼晋级中的博客-CSDN博客

list的reverse、sort具体用法可参考:

python的列表list排序方法——sort、reverse用法及实例_小白修炼晋级中的博客-CSDN博客_python中sort和reverse

其他文章:Python读取txt文本三种方式 - 知乎 (zhihu.com)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python利用read()、readline()、readlines()读取文件 的相关文章

随机推荐