我有一长串文本数据,就像这样:
apple
162
30.45%
newyork
red
2018-12-10 22:48
3.23
Nop12345
pear
20
14.56%
washington
green
2018-12-09 10:30
4.24
Nok45367
我希望它的制表符分隔如下,并且可以在excel中将其放在8列中:
apple 162 30.45% newyork red 2018-12-10 12:48 3.23 Nop12345
pear 20 14.56% washington green 2018-12-09 10:30 4.24 Nok45367
我已经使用了命令
awk '{ ORS = (NR%8 ? "\t" : RS) } 1' > output.txt
为了处理这些问题,如果您在Windows附件记事本编辑器上看到结果,则输出就像我上面需要的结构一样,但是,事实是
是,当您使用notepad ++或Linux上的其他txt编辑器查看它时,它不是8列样式,更糟糕的是,如果将它放在excel中,则仅显示2列:
apple
162
30.45%
newyork
red
2018-12-10 12:48
3.23
Nop12345
pear
20
14.56%
washington
green
2018-12-09 10:30
4.24
Nok45367
最佳答案
您已经拥有的东西就是您想要做的正确方法:
$ awk '{ORS=(NR%8 ? "\t" : RS)}1' file
apple 162 30.45% newyork red 2018-12-10 22:48 3.23 Nop12345
pear 20 14.56% washington green 2018-12-09 10:30 4.24 Nok45367
但请参见Why does my tool output overwrite itself and how do I fix it?,了解大多数“我的输出看起来很有趣”问题的来源。
关于python - 如何将一列数据(文本)包装成8列,并可以在Excel中以8列样式放置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53755972/