1.读取
1.1 read()函数直接读
file = open('example.txt', 'r')
print(file.read())
file.close()
(1)整体读入,可以直接open(),read()
(2)一定要记得关闭
1.2 for line in file
with open('example.txt', 'r') as f:
for line in f:
print(line.strip())
(1)line.strip的意思是去掉换行符
(2)使用with语句打开文件不需要close,会自动关闭
(3)按行读入,适合需要按行处理数据时。
1.3 readlines()
with open('example.txt', 'r') as f:
lines = f.readlines()
for line in lines:
print(line.strip())
(1)整体读入,每行是列表
(2)f的类型为_io.TextIOWrapper,文件对象
lines的类型为list,列表
(3)如果是readline(),则只读取第一行
(4)对于需要读取特定列的时候使用方便,索引从0开始。最大行数用len()计算。
代码如下:
file = open('example.txt', 'r')
lines = file.readlines()
first_line = lines[0]
print(first_line)
file.close()
1.4 pandas库
import pandas as pd
df = pd.read_csv('example.txt', sep='\t')
print(df.head())
(1)需导入pandas库
(2)sep指定了字段的分隔符
(3)head()打印前5条数据
2.写入
2.1 write()函数直接写
file = open('example.txt', 'w')
file.write(data)
file.close()
2.2 with语句
with open("test.txt", "w") as file:
file.write(data)
2.3 writelines
lines = ['这是第一行。\n', '这是第二行。\n', '这是第三行。\n']
'''writelines()方法 会将列表中的字符串写入文件中,但不会自动换行,如果需要换行,手动添加换行符
参数必须是一个只存放字符串的列表'''
with open("test.txt", "w") as file:
file.writelines(lines)
2.4 print()
with open("test.txt", "w") as f:
print(data, file=f)
拓展:
1:
mode: 文件打开模式。
'r': 只读模式。默认模式,如果文件不存在,会引发异常。
'w': 写模式。如果文件不存在,则创建文件。如果文件已存在,则清空文件并写入新内容。
'x': 独占创建模式。如果文件不存在,则创建文件。如果文件已存在,则引发异常。
'a': 追加模式。如果文件不存在,则创建文件。如果文件已存在,则将新内容添加到文件末尾。
'b': 二进制模式。与其他模式一起使用,例如 'rb' 或 'wb'。
't': 文本模式。与其他模式一起使用,例如 'rt' 或 'wt'。
2:
总体来说有两类打开文件的方式,一类为直接打开,另一类使用with语句,用with语句不用关闭,直接打开需要flie.close()。打开文件时需选择文件打开模式,打开后方可对文件进行读写操作。