我有以下格式的文本文件
2015-04-21
00:21:00
5637
5694
12
2015-04-21
00:23:00
5637
5694
12
我想创建一个类似下面的csv文件 -
2015-04-21,00:21:00,5637,5694,12
2015-04-21,00:23:00,5637,5694,12
我使用了tr和sed这样 -
cat file | tr '\n' ',' | sed 's/,$//'
结果如下 -
2015-04-21,00:21:00,5637,5694,12,2015-04-21,00:23:00,5637,5694,12
但在第5列之后没有新行。
建议解决方案。
答案 0 :(得分:1)
像这样使用awk
:
awk 'ORS=NR%5 ? "," : "\n"'
$ cat test.txt
2015-04-21
00:21:00
5637
5694
12
2015-04-21
00:23:00
5637
5694
12
$ awk 'ORS=NR%5 ? "," : "\n"' test.txt
2015-04-21,00:21:00,5637,5694,12
2015-04-21,00:23:00,5637,5694,12
说明:
答案 1 :(得分:0)
python中的一个简单解决方案
fin = open('file','r')
fout = open('outputfile','w')
a=[]
i=0
for line in fin:
a.append(line.rstrip())
i+=1
if i==5:
fout.write(','.join(a)+'\n')
a=[]
i=0
fin.close()
fout.close()