我一直在尝试这种转换格式的文本文件转换成CSV文件:如何使用sed来使用python
2012-03-16 13:47:30.465 -0400 START Running Lab.script 19 on_the
我可以算出它使用SED的唯一方法,但是当我尝试在Python中使用子进程,它不会读取正确的命令,它会给我一个错误。此外,它不是正确的格式,我希望它与csv类似。
这就是我与目前的工作:
f = open("newlogfile.csv", "w")
p = subprocess.Popen(["sed","-e","'s/^[ ]*//g'","-e","'s/\([0-9a-zA-Z\.]*\)","*/\1;/g'","LogFile.txt"], stdout=f, stderr=f)
f.close()
我是很新,使用子和很新的使用SED,任何帮助,将不胜感激。
预先感谢您
UPDATE:
fin = csv.reader(open('LogFile.txt', 'rb'),delimiter='\t')
fout = csv.writer(open('newLogFile.csv', 'w'))
for row in fin:
fout.writerow(';'.join(row))
我们可以看到错误消息? – mfrankli 2012-03-16 19:20:47
你试图转换成什么样的格式。你可以用所有的\ s和\ t来替换,并获得一个csv。这是你在找什么。为什么你会使用sed – nitin 2012-03-16 19:23:05
多少个文件?他们有多大?顺便说一句:它已经是CSV格式(如果你可以使用制表符作为分隔符,并有源文件中的标签,而不是空格)... – Aprillion 2012-03-16 19:23:56