1. python内置方法(read、readline、readlines)
适合于纯文本格式或非格式化、非结构化的数据。常用语自然语言处理、非结构文本解析、应用正则表达式等后续应用场景下。
这里Python默认的三种方法更为合适:
(1)read()方法 :
一次性读取整个文件内容。推荐使用read(size)方法,size越大运行时间越长
注意:读取整个文件,将文件内容放到一个字符串变量中,如果文件大于可用内存,不能使用这种处理。
file_object = open("test.py",'r') #创建一个文件对象,也是一个可迭代对象
try:
all_the_text = file_object.read() #结果为str类型
print (type(all_the_text))
print ("all_the_text=",all_the_text)
finally:
file_object.close()
(2)readline()方法 :
每次读取一行内容。内存不够时使用,一般不太用。
注意readline()每次读取一行,比readlines()慢得多,返回的是一个字符串对象,保存当前行的内容
file_object1 = open("test.py",'r')
try:
while True:
line = file_object1.readline()
if line:
print ("line=",line)
else:
break
finally:
file_object1.close()
(3)readlines()方法 :
一次性读取整个文件内容,并按行返回到list,方便遍历
file_object2 = open("test.py",'r')
try:
lines = file_object2.readlines()
print "type(lines)=",type(lines) #type(lines)= <type 'list'>
for line in lines:
print ("line=",line)
finally:
file_object2.close()
2. numpy库
适用结构化、纯数值型的数据,并且主要用于矩阵计算、数据建模的,使用Numpy的loadtxt方法更方便。
对于二进制的数据处理,使用Numpy的load和fromfile方法更为合适。
Numpy库的学习
3. pandas库
对于结构化的、探索性数据统计和分析场景,使用pandas方法进行读取,因为其提供了数据框,对数据进行任意翻转、切片、关联都很方便。
Pandas库的学习