Python 逐行读取txt 文件并生成列表

前言开始1.载入文件2.读取数据流3.数据处理4.关闭文件前言我们在编写一些自动化脚本的时候,为了方便,经常需要以txt文件作为数据输入,今天就跟大家讨论一下如何对txt文件进行读取并生成对应的列表等程序可操作的数据载体。开始1.载入文件这步就大家比较熟悉,文件操作中最基本的了。因为我们只需要读取文件,并不需要写入文件,所以在这里指定mode=”r”为只读模式(默认)。f=open(“C:/foo.txt”,”r”,encoding=’utf-8′)此时就有了这.

大家好,又见面了,我是你们的朋友全栈君。


前言

我们在编写一些自动化脚本的时候,为了方便,经常需要以txt 文件作为数据输入,今天就跟大家讨论一下如何对txt 文件进行读取并生成对应的列表等程序可操作的数据载体
在这里插入图片描述

开始

1. 载入文件

这步就大家比较熟悉,文件操作中最基本的了。

因为我们只需要读取文件,并不需要写入文件,所以在这里指定mode="r" 为只读模式(默认)。

f = open("C:/foo.txt", "r",encoding='utf-8')

此时就有了这个txt 文件的数据输入流了。

2. 读取数据流

读取数据的方法主要有三个,分别是read()readline()readlines()

方法 作用
read() 从文件读取指定的字节数,如果未给定或为负则读取所有。
readline() 读取整行,包括 “\n” 字符。
readlines() 读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。

接下来简单展示一下这三种方法的区别:
这是foo.txt 中的内容

("祖安", 1000)
("诺克萨斯", 900)
("艾欧尼亚", 880)
("暗影岛", 750)
("征服之海", 620)
("黑色玫瑰", 600)
("德玛西亚", 500)
("裁决之地", 440)
("圣安地列斯", 400)
("自由城", 350)
("供电所", 300)
("影流", 200)
("荆棘坎坷", 180)
("永不言弃", 100)
  1. read()
    txt 数据格式一致,返回str 类型数据
    在这里插入图片描述
  2. readline()
    只读取一行(包括换行),返回str 类型数据
    在这里插入图片描述
  3. readlines()
    全部读取,返回list 类型数据
    在这里插入图片描述

3. 数据处理

根据上一步,我们可以得到多种形式的数据类型,从而根据我们的需求进行多种处理。

大家可以看到,我的foo.txt 中的数据是满足元组形式的,那我就试着将foo.txt 文件中的字符串类型数据转变成元组吧:

line = f.readline() # 读取一行
tu = eval(line) # 转为元组形式
print(tu)
print(type(tu))

输出:
在这里插入图片描述
若需要全部数据都逐行转变为元组,然后整体串成一个列表:

txt_tables = []
f = open("C:/foo.txt", "r",encoding='utf-8')
line = f.readline() # 读取第一行
while line:
    txt_data = eval(line) # 可将字符串变为元组
    txt_tables.append(txt_data) # 列表增加
    line = f.readline() # 读取下一行
print(txt_tables)

之所以while 循环中的f.readline() 能够不断读取下一行,是因为当我们每次执行完一次该语句之后,文件输入流的指针都会移动到下一行的起始位,所以每次再次执行,都是从下一行的第一个字符开始读取。

输出:
在这里插入图片描述

4. 关闭文件

是的,不要忘了关闭文件流:

f.close()
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126834.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 图像特征匹配方法——SIFT算法原理及实现

    图像特征匹配方法——SIFT算法原理及实现传统图像处理中图像特征匹配有三个基本步骤:特征提取、特征描述和特征匹配。特征提取就是从图像中提取出关键点(或特征点、角点)等。特征描述就是用一组数学向量对特征点进行描述,其主要保证不同的向量和不同的特征点之间是一种对应的关系,同时相似的关键点之间的差异尽可能小。特征匹配其实就是特征向量之间的距离计算,常用的距离有欧氏距离、汉明距离、余弦距离等。SIFT算法又叫尺度不变特征变换匹配算法,SIF…

    2022年6月22日
    129
  • STM32F103ZET–RFID-RC522使用例程(战舰版)

    RC522.c#include"sys.h"#include"rc522.h"#include"delay.h"#include

    2022年4月6日
    48
  • jsp常用标签有哪些_foreach js

    jsp常用标签有哪些_foreach js————————————-JSTL标签forEach———————————-forEach(重点)   forEach当前就是循环标签了,下面例子中设置域变量i,初始值为1,结束值为100。即i的值从1遍历到100,包含100。 <c:setvar="sum"value="…

    2025年7月22日
    2
  • KETTLE教程:转换

    KETTLE教程:转换所谓的转换,可以理解为将数据开中的数据转换为excel表格,txt文档,.bat等格式输出;将excel表格,txt文档,.bat等格式转换成数据库中表格的数据。kettle的转换功能十分便捷,大大减少了我们的工作量。下面开始介绍如何使用kettle进行转换:以文本转换为mysql数据表为例首先,点击文件:在文件中新建→转换然后,点击转换下的DB转换:选择要转换成什么数据…

    2022年5月24日
    43
  • python对字符串中指定字符进行替换[通俗易懂]

    python对字符串中指定字符进行替换[通俗易懂](1)替换指定的所有字符:string.replace(‘a’,‘b’)表示将字符串string中所有字符为’a’的替换为’b’。例子string=”abcabcabc”string=string.replace(‘a’,’b’)print(string)输出bbcbbcbbc(2)替换指定位置i的字符为字符s:列表化字符串再以字符串形式输出例子i,s…

    2022年6月7日
    50
  • 页面自动执行(加载)js的几种方法

    页面自动执行(加载)js的几种方法

    2021年10月30日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号