我想读取文件夹中的大量数据,并想删除具有"DT=(SINGLE SINGLE SINGLE)"
的行,然后将其作为新数据写入。
在那个数据文件夹里,有300个数据文件!你知道吗
我的密码是
import os, sys
path = "/Users/xxx/Data/"
allFiles = os.listdir(path)
for fname in allFiles:
print(fname)
with open(fname, "r") as f:
with open(fname, "w") as w:
for line in f:
if "DT=(SINGLE SINGLE SINGLE)" not in line:
w.write(line)
FileNotFoundError: [Errno 2] No such file or directory: '1147.dat'
我想为一群人做这件事。
如何自动读写删除行?
有没有办法用不同的名称创建一个新的数据集?e、 g.1147.dat -> 1147_new.dat
下面应该做;代码演示每个带注释的行之后会做什么:
os.listdir
只返回文件名,不返回文件路径;os.path.join
使用分隔符(例如\\
):folderpath + '\\' + filename
将其输入连接到完整路径with open(X,'r') as .., with open(X,'w') as ..:
不同;as 'w'
清空文件,因此as 'r'
无法读取任何内容f_read.read() == "Abc\nDe\n12"
,那么f_read.read().split('\n')==["Abc,"De","12"]
_ls==["a","bc","12"]
,那么"\n".join([x for x in _ls])=="a\nbc\n12"
注:有关更高级的警告,请参阅下面的注释;有关更紧凑的替代方法,请参阅Torxed's version
相关问题 更多 >
编程相关推荐