本文将使用open, pandas, numpy三种方式对txt文档进行读,写,追加
在此不推荐使用此方式操作➡ f = open(’test.txt’, ‘w’),因为该方法结束时候需要使用f.close(),如果忘记写close,则可能出现数据丢失的情况
1. with open()方式
读:
with open("test.txt","r") as f: lines=f.readlines() #读行 print(lines)
输出:
['第一行内容\n', '第二行内容']
写:
with open("test.txt","w") as f: f.writelines('内容') f.writelines("\n")
追加:
with open("test.txt","a") as f: f.writelines('内容') f.writelines("\n")
只需要修改模式,详情如下表:
修改的方式:先读后写
#read with open(newfile,"r") as f: lines=f.readlines() data=[] for i in lines: #根据条件修改 if('abc' in i): i=i.replace('abc','def') #修改abc为def data.append(i) #记录每一行 #write with open(newfile,"w") as f: for i in data: f.writelines(i)
2. pandas方式
读:
import pandas as pd data = pd.read_table('data.txt', sep=',') print(data)
输出:
col_a col_b 0 1 2 1 3 4
写:
index=None ,不显示行名字
sep=’,’ 逗号为间隔
import pandas as pd a = [1,2] b = [3,4] data = pd.DataFrame({'col_a':a,'col_b':b}) df=pd.DataFrame(data) df.to_csv('data.txt',sep=',',index=None)
追加:
先读后插入
import pandas as pd data = pd.read_table('data.txt', sep=' ') data.loc[data.shape[0]] = {'col_a':1,'col_b':0} # 加行 np.savetxt("data.txt",data)data.insert(loc=0,column='col_c',value=6)#加列
3. numpy方式
读:
import numpy as np a=np.loadtxt('data.txt') print(a)
输出:
[[1. 2.] [3. 4.]]
写:
输出的结果小数点后带0:
import numpy as np data = np.array([[1,2],[3,4]]) np.savetxt("data.txt",data)
追加:
先读后插入
np.insert(a,0,[5,6],axis=0),第一个0代表的是插入位置,0是第一行
import numpy as np a=np.loadtxt('data.txt') data=np.insert(a,0,[5,6],axis=0) np.savetxt("data.txt",data)
原文链接:https://blog.csdn.net/weixin_45760685/article/details/104966993 《Python对txt文档进行读,写,追加,修改操作(open,pandas,numpy)》