📅  最后修改于: 2023-12-03 15:38:23.493000             🧑  作者: Mango
在 Python 中,处理文本文件中的数字可以说是非常常见的问题。下面是一个简单的介绍,如何在 Python 中从文本文件中读取数字。
最简单的读取文件的方式是使用 open()
函数,并将文件名及打开方式作为参数传递给它。例如,要读取名为 example.txt
的文件,可以使用以下代码:
with open("example.txt", "r") as f:
contents = f.read()
这将打开文件并将文件内容存储在变量 contents
中。要将文件中的数字提取出来并以列表的形式存储,可以使用以下代码:
import re
numbers = re.findall(r'\d+', contents)
numbers = [int(n) for n in numbers]
这段代码使用正则表达式 r'\d+'
查找所有的数字,并将它们存储在列表中。然后,使用列表推导式将所有字符串转换为整数类型。
如果文件非常大,或者只需要处理文件中的部分内容,可以按行读取文件。例如,以下代码将按行读取名为 example.txt
的文件,并提取每行的数字:
import re
numbers = []
with open("example.txt", "r") as f:
for line in f:
line_numbers = re.findall(r'\d+', line)
line_numbers = [int(n) for n in line_numbers]
numbers.extend(line_numbers)
这段代码使用 with open()
语句打开文件,并读取每行内容。然后,使用与前面相同的方法提取行中的数字,并将它们添加到存储所有数字的列表中。
如果需要读取大型数据集并进行分析,可以使用 NumPy 库。以下代码演示了如何使用 NumPy 从文本文件中读取数据:
import numpy as np
data = np.loadtxt("example.txt")
这将使用默认参数(deliminter=“”(空格),comments=“#”)从文本文件中读取数据,并将其存储在 NumPy 数组中。如果文件中包含标题行,可以使用以下代码:
import numpy as np
data = np.loadtxt("example.txt", skiprows=1)
这将跳过文件中的第一行,并将数据存储在 NumPy 数组中。
在 Python 中从文本文件中读取数字有多种方法。根据文件的大小和结构,可以选择最合适的方法。无论使用哪种方法,Python 都可以很容易地读取和处理文本文件中的数字。