Python 中把一个文本文件读成一个列表

  1. 在 Python 中使用 read().split()open() 函数返回的文件对象上读取一个文本文件到列表
  2. 使用 numpy 库的 loadtxt 函数在 Python 中读取文本文件到列表中
  3. 在 Python 中使用 csv.reader() 函数读取文本文件到列表中

本教程将研究多种方法来加载或读取文本文件到 Python 列表中。它包括使用 open() 函数返回的文件对象上的 read().split() 函数、numpy 库的 loadtxt 函数和 csv.reader 函数来加载一个文本文件,并将其分割成列表中的独立元素。

在 Python 中使用 read().split()open() 函数返回的文件对象上读取一个文本文件到列表

下面给出的代码示例显示了我们如何先用 open 读取一个文本文件,然后用 read().split() 函数将其分割成一个以 , 为定界符的数组。

假设文本文件 file.txt 的内容如下。

1,2,321,355,313

代码:

with open("file.txt", "r") as tf:
    lines = tf.read().split(',')
    
for line in lines:
    print(line)

输出:

1
2
321
355
313

split() 函数中的参数,即本例中的 ,,指定了文本文件中的定界符。

使用 numpy 库的 loadtxt 函数在 Python 中读取文本文件到列表中

下面给出的代码示例显示了我们如何使用 numpy 库的 loadtxt 函数来加载文本文件,并使用 delimiter 参数将其分割成一个数组。

from numpy import loadtxt

lines = loadtxt("file.txt", delimiter=",")
for line in lines:
    print(line)

输出:

1.0
2.0
321.0
355.0
313.0

在 Python 中使用 csv.reader() 函数读取文本文件到列表中

csv 模块通常用于处理 CSV 文件,但也可用于处理文本文件。

csv 模块的 reader 函数读取给定的文件并返回一个 _csv.reader 对象。我们可以通过应用 list() 函数将 _csv.reader 对象转换为列表。

请注意,即使文件只有一行,转换后的列表也是一个 2D 数组;因此,我们需要使用索引 [0] 来获取 1D 列表。

import csv

with open("file.txt") as f:
    line = csv.reader(f, delimiter=',')

print(list(line)[0])

输出:

['1', '2', '321', '355', '313']

相关文章 - Python List

  • Python 中将列表转换为元组
  • 用 Python 将两个列表相乘
  • 相关文章 - Python File

  • 如何用 Python 将列表写入文件
  • 在 Python 中保存字典到文件