Python 按行读取txt的方法有多种,可以使用Python内置函数open()来打开txt文件,再使用readline()函数按行读取内容,也可以使用readlines()函数一次性将txt文件中的所有内容按行读取到列表中。此外,还可以使用pandas库来读取txt文件,并将其转换为DataFrame格式,方便数据分析和处理。
当我们需要读取较大的txt文件时,一次性将所有内容读取到内存中可能会引起内存溢出或导致程序运行变慢,因此按行读取txt文件是一种更加高效的方式。下面将从多个角度详细介绍如何使用Python按行读取txt文件:
1. 使用Python内置函数open()按行读取txt文件
首先,可以使用Python内置函数open()来打开txt文件,然后通过while循环逐行读取文件内容,示例代码如下:
with open('test.txt', 'r', encoding='utf-8') as fp:
line = fp.readline()
while line:
print(line.strip())
line = fp.readline()
此代码先使用open()函数打开test.txt文件,其中'r'表示只读模式打开文件,'utf-8'表示指定文件的编码方式,防止出现编码错误。然后通过fp.readline()逐行读取文件内容,使用strip()函数去掉每行内容的末尾空格和回车符,最后通过while循环输出每一行内容。
2. 使用Python内置函数readlines()按行读取txt文件
另一种逐行读取txt文件的方式是使用Python内置函数readlines(),该函数一次性将所有文件内容读取到列表中,示例代码如下:
with open('test.txt', 'r', encoding='utf-8') as fp:
lines = fp.readlines()
for line in lines:
print(line.strip())
这段代码也是使用open()函数打开test.txt文件,然后使用readlines()函数将文件内容读取到lines列表中,再通过for循环逐行输出每行内容。
3. 使用pandas库按行读取txt文件
如果需要对txt文件进行数据分析和处理,可以使用pandas库进行读取和处理,示例代码如下:
import pandas as pd
data = pd.read_table('test.txt', header=None)
print(data)
此代码首先通过import语句引入pandas库,然后使用read_table()函数将test.txt文件读取为pandas的DataFrame格式,其中header=None表示不使用列名作为DataFrame的列名,而是自动生成列名。最后输出DataFrame格式的内容。
除了上面介绍的三种方式,还有一些第三方库也可以实现按行读取txt文件,例如linecache库、numpy库等等。