我的数据是这种形式。你可以看到第3列(如果从0开始,则为第2列)触及之前的值,当它的值上升到下一个数量级时。以及最后一列中未记录任何数据输入的工件。
17:10:39 2.039 26.84 4.6371E-9 -0.7$R200$O100
17:10:41 2.082 27.04 4.6334E-9 -0.4
17:10:43 1.980 26.97 4.6461E-9 0.3
17:10:45 2.031 26.87 4.6502E-9 1.0$R200
17:10:47 2.090 27.09 4.6296E-9 0.1
...
18:49:40 1.930226.34 2.8246E-5 7.1
18:49:42 2.031226.04 2.8264E-5 8.2
现在我通过添加“|”手动修复了这一切取而代之的是“”,并切掉了少数文物,但这是一种痛苦。
因此,在未来从同一台机器获取更大的数据集的前景,是否有任何关于如何在python中编写脚本的提示,或者是否有任何基于Linux的工具已经在那里修复此csv / make一个新的固定csv出于此?
答案 0 :(得分:0)
在linux shell中:
cut -c 1-14 data.csv > DataA
cut -c 15-49 data.csv > DataB
paste DataA DataB | tr -s " " "\t" > DataC
现在万一我们想要坚持“|”分隔符的下一步可能是
cat DataC | tr -s "\t" "|" > DataFinal
rm DataA DataB DataC
但这纯粹是可选的
答案 1 :(得分:0)
您显示的数据不是csv(或dsv),而是具有固定字段宽度的纯文本数据。尝试将其读作csv将容易出错。
相反,此数据应以固定宽度处理,并具有以下字段宽度:
8 / 6 / 6 / 10 (or 11) / 8 (or 7) / rest of line
请参阅this question,了解如何在Python中解析固定宽度字段。