读取txt的数据和把数据保存到txt中是python处理数据常用的。将学习笔记记录,作备份和参考。十分感谢别人的分享,很详细,学习参考链接如下:
一、 txt文件读取
1 python常用的三种读取文件函数
python
read() #一次性读完全部内容
readline() #读取第一行内容
readlines()#读取文本所有内容,且以数列的格式返回结果,一般配合for in 使用
示例如下:
python
print("------read()------")
with open("demo.txt", "r") as file: #使用绝对路径 开文件
demo = file.read() #读取文件
print(demo)
print("------readline------")
with open("demo.txt", "r") as f: #打开文件
demo = f.readline() #读取文件
print(demo)
print("------readlins------")
with open("demo.txt", "r") as f: #打开文件
demo = f.readlines() #读取文件
print(demo)
print("------readlines and for in------")
with open("demo.txt", "r") as f: #打开文件
for line in f.readlines():
line =line.strip('\n') #去掉列表中每一个元素的换行符
print(line)
结果如下:
2 python读取txt文件并取其某一列数据
示例要求:
读取data.txt中每行的第3个数据,将其组成一个数组,
代码如下:
注意 :data.txt文件要和.py文件在同一目录下
python
with open("data.txt", "r") as file: #使用绝对路径 开文件
data = file.read() #读取文件
print(data)
import codecs #codecs自定义编/解码
f = codecs.open('data.txt', mode='r', encoding='utf-8') # 打开txt文件,以'utf-8'编码读取
line = f.readline() # 以行的形式进行读取文件
print(line)
list1 = []
while line:
a = line.split()
b = a[2:3] # 这是选取需要读取的位数
list1.append(b) # 将其添加在列表之中
line = f.readline()
f.close()
for i in list1:
print(i)
其结果如下:
二、写入txt文件中
也有两种方式。
python
#write 到data.txt文件中
with open("data.txt","w") as f:
f.write("这是个测试!") #这句自带文件关闭功能,无需再写f.close
#print text.txt文件中
text = open("text.txt",'w+')
print('这是个测试2',file=text)
text.close()
结果是在.py目录下生成了两个新的txt文件,如下所示:
读写的不同模式如表所示: