HoRain云--python读取txt中所有数据并生成列表

  

HoRain云小助手:个人主页

  个人专栏: 《Linux 系列教程》《c语言教程》

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

方法一:每行作为列表元素(保留换行符)

方法二:每行作为列表元素(去除换行符)

方法三:按空格/制表符分割成单词列表

方法四:按自定义分隔符分割(如逗号)

方法五:数值型数据转换为列表

场景 1:每行一个数值

场景 2:每行多个数值(空格分隔)

方法六:复杂结构化数据(如嵌套列表)

完整代码示例

注意事项

扩展应用


以下是使用 Python 读取 .txt 文件数据并生成列表的几种常见场景和实现方法:


方法一:每行作为列表元素(保留换行符)

直接按行读取,生成包含每行内容的列表(含换行符 \n)。

with open("data.txt", "r", encoding="utf-8") as f:
    lines = f.readlines()  # 结果示例:["line1\n", "line2\n", ...]

方法二:每行作为列表元素(去除换行符)

去除每行末尾的换行符。

with open("data.txt", "r", encoding="utf-8") as f:
    lines = [line.strip() for line in f]  # 结果示例:["line1", "line2", ...]

方法三:按空格/制表符分割成单词列表

将文件内容视为由空格/制表符分隔的单词,生成单词列表。

with open("data.txt", "r", encoding="utf-8") as f:
    words = f.read().split()  # 结果示例:["word1", "word2", "word3", ...]

方法四:按自定义分隔符分割(如逗号)

若文件内容由特定符号(如逗号 ,)分隔:

with open("data.txt", "r", encoding="utf-8") as f:
    content = f.read().strip()  # 读取全部内容并去除首尾空格
    data_list = content.split(",")  # 结果示例:["item1", "item2", ...]

方法五:数值型数据转换为列表

若文件内容为数值(如每行一个数字或每行多个数字):

场景 1:每行一个数值
with open("data.txt", "r", encoding="utf-8") as f:
    numbers = [float(line.strip()) for line in f]  # 转换为浮点数列表
场景 2:每行多个数值(空格分隔)
with open("data.txt", "r", encoding="utf-8") as f:
    numbers = []
    for line in f:
        numbers.extend([float(x) for x in line.strip().split()])  # 合并为单列表

方法六:复杂结构化数据(如嵌套列表)

若文件内容为多维数据(例如每行表示一个子列表,用逗号分隔):

with open("data.txt", "r", encoding="utf-8") as f:
    nested_list = [line.strip().split(",") for line in f]
# 结果示例:[["a", "b"], ["c", "d"], ...]

完整代码示例

# 示例文件内容(data.txt):
# 1 2 3
# 4 5 6

with open("data.txt", "r", encoding="utf-8") as f:
    # 生成二维列表:[[1,2,3], [4,5,6]]
    matrix = [[int(num) for num in line.strip().split()] for line in f]
    print(matrix)  # 输出: [[1, 2, 3], [4, 5, 6]]

注意事项

  1. 文件路径:确保文件路径正确(绝对路径或相对路径)。
  2. 编码:指定正确的文件编码(如 encoding="utf-8")。
  3. 异常处理:可添加 try-except 块处理文件不存在或读取错误:
    try:
        with open("data.txt", "r") as f:
            lines = f.readlines()
    except FileNotFoundError:
        print("文件不存在!")
    except Exception as e:
        print(f"读取错误: {e}")
    

扩展应用

若需处理大型文件(避免一次性加载全部内容):

# 逐行读取(节省内存)
data = []
with open("large_data.txt", "r") as f:
    for line in f:
        data.append(line.strip())

根据实际需求选择方法,即可高效将 .txt 文件数据转换为 Python 列表。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!

如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!

Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!

你可能感兴趣的:(docker,运维,python)