我已经在网站上进行尝试和搜索,但是找不到适合我问题的解决方案。我有一个很大的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] 删除。
我来说两句