在Python中导入文件数据可以通过多种方式实现,最常用的方法包括内置open()函数、pandas库的read_csv()/read_excel()以及第三方库如NumPy的loadtxt()。这些方法适用于不同格式(TXT/CSV/Excel等)和数据处理需求。
- 内置open()函数
- 基础语法:
with open('文件路径', '模式') as f:
- 支持模式:'r'读取/'w'写入/'a'追加
- 适用场景:纯文本文件(TXT/LOG等)的逐行处理
- 示例:
data = [line.strip() for line in open('data.txt')]
- pandas库方法
pd.read_csv()
:自动解析逗号分隔文件- 参数:
header=0
(首行为列名)、encoding='utf-8'
(解决中文乱码)
- 参数:
pd.read_excel()
:处理xlsx/xls格式- 关键参数:
sheet_name
指定工作表
- 关键参数:
- 优势:自动转换为DataFrame结构,支持缺失值处理
- NumPy专用方法
np.loadtxt()
:高效加载数值型数据- 参数:
delimiter=','
(指定分隔符)、dtype=int
(指定数据类型)
- 参数:
np.genfromtxt()
:支持缺失值替换- 示例:
data = np.genfromtxt('data.csv', delimiter=',', filling_values=0)
- 示例:
- JSON/XML等特殊格式
- JSON:使用
json.load(open('data.json'))
- XML:推荐
xml.etree.ElementTree
解析 - 二进制文件:
pickle.load()
可还原Python对象
- 大文件处理技巧
- 分块读取:
pandas.read_csv(chunksize=1000)
- 迭代处理:
for chunk in pd.read_csv('large.csv', chunksize=50000):
根据数据量级(小型/大型)、格式(结构化/非结构化)和后续处理需求(数值计算/数据分析)选择合适方法,遇到编码问题时建议优先尝试encoding='gb18030'
或指定文件引擎。