一. 从文本文件读取数据
1. 使用read、readline、readlines 读取数据
- read:读取文件的全部数据。
返回数据为内容字符串,所有行合并为一个字符串。 - readline:读取文件的一行数据。
返回数据为内容字符串。 - readlines:读取文件的全部数据。
返回数据为内容列表,每行数据作为列表中的一个对象。
text.txt
# 使用read、readline、readlines读取数据
file_name = 'text.txt'
file_object = open(file_name)
或
file_object = open('text.txt')
read_data = file_object.read()
print (read_data)
# 输出:line1: This is line1
# line2: This is line2
file_object = open('text.txt')
readline_data = file_object.readline()
print (readline_data)
# 输出:line1: This is line1
file_object = open('text.txt')
readlines_data = file_object.readlines()
print (readlines_data)
# 输出:['line1: This is line1\r\n', 'line2: This is line2']
read 与 readlines 较常用,且二者能读出全部文件中的数据。
区别:
read 返回字符串,适用于所有行都是完整句子的文本文件,例如大段文字信息。
readlines 返回列表,适用于每行是一个单独的数据记录,例如日志信息。
readline 只读取一行数据,通常配合seek、next等指针操作才能读取所有数据记录。
- 指针
类似于word 操作中的光标,指针所处的位置就是光标的位置,它决定了Python的读写从哪里开始。默认第一个对象的位置。
fn = open('text.txt') # 获得文件对象
print (fn.tell()) # 输出指针位置
# 输出:0
line1 = fn.readline() # 获得文件第一行数据
print (line1) # 输出第一行数据
# 输出:line1: This is line1
print (fn.tell()) # 输出指针位置
# 输出:22
line2 = fn.readline() # 获得文件第二行数据
print (line2) # 输出第二行数据
# 输出:line2: This is line2
print (fn.tell()) # 输出指针位置
# 输出:42
fn.close() # 关闭文件对象
2. 使用Numpy的loadtxt、load、fromfile 读取数据
3. 使用Pandas的read_csv、read_fwf、read_table 读取数据
(持续更新……)
内容来自:《Python数据分析与数据化运营》——宋天龙