如何用Python将文本文件读入列表或数组?


Python内置了文件创建、写入和读取功能。在Python中,可以处理两种类型的文件:文本文件和二进制文件(以二进制语言,0和1编写)。有6种访问文件模式。

要读取文本文件,我们使用只读 ('r') 模式打开文本文件进行读取。句柄位于文档的开头。

有几种方法可以使用python将文本文件读入列表或数组

使用open()方法

open()函数从打开的文件创建一个文件对象。文件名和模式参数传递给open()函数。

示例

以下是一个示例,其中使用open()函数以只读模式打开文件。现在,借助read()函数读取文件。然后,使用print()函数打印文件的数据。

#Python program to read a text file into a list
#opening a file in read mode using open()
file = open('example.txt', 'r')

#read text file into list
data = file.read()
#printing the data of the file
print(data)

输出

执行上述程序后,将生成以下输出。

Coding encourages you to use logic and algorithms to create a program.
When facing a new challenge, you need to follow a logical approach to solve the issue.
Therefore, this is an exercise for your brain to train up your logical ability. 

逻辑思维不仅关乎解决算法,也对您的个人和职业生活大有裨益。

使用numpy的load()方法

在Python中,numpy.load()用于从文本文件加载数据,目标是快速读取简单的文本文件。文件名和模式参数传递给open()函数。

示例1

在下面的示例中,从numpy模块导入loadtxt,并将文本文件读入numpy数组。使用print()函数将数据打印到列表中。

from numpy import loadtxt

#read text file into NumPy array
data = loadtxt('example.txt')
#printing the data into the list
print(data)
print(data.dtype)

输出

执行上述程序后,将生成以下输出。

[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14.]
Float64

loadtxt()允许我们在导入文本文件时选择数据类型,这是loadtxt()的一个很好的特性。让我们使用整数来指定要导入到NumPy数组中的文本文件。

示例2

在下面的示例中,从numpy模块导入loadtxt。使用loadtxt()函数将文本文件读入numpy数组。然后,使用print()函数将数据打印到列表中。

from numpy import loadtxt
#read text file into NumPy array
data = loadtxt('example.txt', dtype='int')
#printing the data into the list
print(data)
print(data.dtype)

输出

执行上述程序后,将生成以下输出。

[ 1  2  3  4  5  6  7  8  9 10 11 12 13 14]
int32

使用data.replace()方法

使用Pandas创建的数据框。在数据框中,replace()函数用于替换字符串、正则表达式、列表、字典、序列、数字等等。由于其多种变体,这是一个非常强大的函数。

示例

在下面的示例中,文件以读取模式打开,并使用read()函数读取。行尾'\n'被替换为' ',如果进一步看到'。',则文本被分割。现在,使用print()函数将数据打印为输出。

#program to read a text file into a list
#opening the file in read mode
file = open("example.txt", "r")
data = file.read()
# replacing end of line('/n') with ' ' and
# splitting the text it further when '.' is seen.
list = data.replace('\n', '').split(".")

# printing the data
print(list)
file.close()

输出

执行上述程序后,将生成以下输出。

[' Coding encourages you to use logic and algorithms 
to create a program', 'When facing a new challenge, you need to follow a logical 
approach to solve the issue', 'Therefore, this is an exercise for your brain to 
train up your logical ability', ' Logical thinking is not only about solving 
algorithms but also beneficial to your personal and professional life', '']

更新于:2023年5月11日

13K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告