在Python中导入txt文件的核心方法包括:使用内置open()
函数逐行或整体读取、借助pandas
库处理结构化数据、利用numpy
加载数值型内容。 其中,open()
适合基础文本处理,pandas
擅长表格解析,numpy
则针对数值计算优化。以下分场景详解具体实现:
-
基础读取:
open()
函数
通过with open('file.txt', 'r') as file:
可安全打开文件,file.read()
读取全部内容为字符串,file.readlines()
逐行返回列表。大文件建议用for line in file:
迭代处理,避免内存溢出。例如:python复制
with open('data.txt', 'r', encoding='utf-8') as f: lines = [line.strip() for line in f] # 去除每行换行符
-
结构化数据:
pandas
库
若txt为表格格式(如CSV、TSV),pd.read_csv('data.txt', sep='\t')
可直接转换为DataFrame,支持自定义分隔符、列名和数据类型。适合统计分析或数据清洗场景:python复制
import pandas as pd df = pd.read_csv('data.txt', sep='|', names=['col1', 'col2'])
-
数值处理:
numpy
库
对纯数值文件(如科学数据),np.loadtxt('data.txt', delimiter=',')
快速加载为数组,支持指定列和数据类型:python复制
import numpy as np arr = np.loadtxt('values.txt', usecols=(0, 2)) # 仅读取第1、3列
-
高级场景
- 正则匹配:用
re.findall()
提取复杂文本模式。 - 大文件优化:
pandas
的chunksize
参数分块读取,或linecache
按行随机访问。 - 编码处理:指定
encoding='gbk'
等参数解决乱码问题。
- 正则匹配:用
总结:根据数据规模(小文件/大文件)、结构(文本/表格/数值)和后续用途(分析/计算)选择合适方法,优先考虑pandas
和numpy
的高效性,简单场景直接用open()
即可。