📜  如何在 python 中从文本文件中读取数字(1)

📅  最后修改于: 2023-12-03 15:38:23.493000             🧑  作者: Mango

如何在 Python 中从文本文件中读取数字

在 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 库。以下代码演示了如何使用 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 都可以很容易地读取和处理文本文件中的数字。