本文将使用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)》
