在txt文件的某些行中删除结尾/结尾逗号

内存

我已经在网站上进行尝试和搜索,但是找不到适合我问题的解决方案。我有一个很大的txt文件。在txt文件中,某些行以,(逗号)结尾我想摆脱逗号结尾。

我的样本文件:

TYPE,4.0,
ID,ZBC173,
ROW1,51.977,
ROW2,0,
ROW3,0,
ROW4,2,
81.00,-4.42,1.0
114.00,-1.67,1.0
ROW7,0,
ROW8,3.696,
ROW9,7,
113.9996969,-1.67,0.7
121.500409,0,0.7
127.9995187,0.066,0.9
129.4998186,0.285,0.9
134.4992436,1.779,1.0
145.9999685,2.144,1.0
153.2586833,3.696,1.0

我的代码:

import os
file=open(r'C:\Users\ZBC173.txt','r')
target=open(r'C:\Users\ZBC173_no_comma.csv','w')
states = [line.strip().split(':')[-1] for line in file.readlines()]
target.write('\n'.join(states))
target.close()

我的输出:

TYPE,4.0
ID,ZBC173
ROW1,51.977
ROW2,0
ROW3,0
ROW4,2
81.00,-4.42
114.00,-1.67
ROW7,0
ROW8,3.696
ROW9,7
113.9996969,-1.67
121.500409,0
127.9995187,0.066
129.4998186,0.285
134.4992436,1.779
145.9999685,2.144
153.2586833,3.696

在我的输出中,我错过了一些数据。我如何避免这种情况?谢谢你的支持。我是python代码的初学者。

安禅

您可以使用以下上下文管理器:

with open(r'C:\Users\ZBC173.txt','r') as file,open(r'C:\Users\ZBC173_no_comma.csv','w') as target:
    target.write(file.read().replace(',\n','\n'))

如果要将所有文本文件存储在文件夹中到另一个csv文件中:

from glob import glob

for f in glob("*.txt"):
    with open(f,'r') as file,open(f"C:\\Users\\Folder\\{f.replace('.txt','.csv')}",'w') as target:
        target.write(file.read().replace(',\n','\n'))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章