如何删除空白行

崔凯文

我将数据保存为csv格式,但是csv文件包含很多空白行。

如何删除空白行?喜欢来自CSV?

1   7   5.329618927 5.678765376
2   7   3.364469002 4.176536709
3   7   4.214949544 7.205212347
4   7   3.324136778 8.935188439
5   7   4.746355556 3.89335459



1   8   5.312160001 5.65157164
2   8   3.378701171 4.175205323
3   8   4.202770433 7.216973641
4   8   3.32496778  8.924379077
5   8   4.744037125 3.891049294
蒂卡恩茨

读取显示内容的文件

假设上面的文本是您要导入的文件内容的一个示例(字段之间有多个空格和一些空白行,那么我可能会按以下方式导入它(请注意,这实际上不是一个csv文件) ):

   ]Dat=: cut;._2 freads 'myfile.txt'
┌─┬─┬───────────┬───────────┐
│1│7│5.329618927│5.678765376│
├─┼─┼───────────┼───────────┤
│2│7│3.364469002│4.176536709│
├─┼─┼───────────┼───────────┤
...
├─┼─┼───────────┼───────────┤
│ │ │           │           │
├─┼─┼───────────┼───────────┤
│1│8│5.312160001│5.65157164 │
├─┼─┼───────────┼───────────┤
...
├─┼─┼───────────┼───────────┤
│5│8│4.744037125│3.891049294│
└─┴─┴───────────┴───────────┘
   Dat -. (4 # a:)  NB. Dat without items consisting of 4 empty boxes
┌─┬─┬───────────┬───────────┐
│1│7│5.329618927│5.678765376│
├─┼─┼───────────┼───────────┤
...
├─┼─┼───────────┼───────────┤
│5│8│4.744037125│3.891049294│
└─┴─┴───────────┴───────────┘
   _999 ". > Dat -. (4 # a:)  NB. unbox and convert to numeric
1 7 5.32962 5.67877
...
5 8 4.74404 3.89105

您可以将其作为一行执行:

   ]Dat=: _999 ". > -.&(4 # a:) cut;._2 freads 'myfile.txt'
1 7 5.32962 5.67877
2 7 3.36447 4.17654
3 7 4.21495 7.20521
4 7 3.32414 8.93519
5 7 4.74636 3.89335
1 8 5.31216 5.65157
2 8  3.3787 4.17521
3 8 4.20277 7.21697
4 8 3.32497 8.92438
5 8 4.74404 3.89105

读写csv文件

如果您有一些要保存/读取为csv文件的数据,则该tables/csv插件将提供帮助。

   load 'tables/csv'
   Dat writecsv jpath '~temp/myfile.csv'  NB. write to J's temp folder
290
   readcsv jpath '~temp/myfile.csv'
┌─┬─┬───────────┬───────────┐
│1│7│5.329618927│5.678765376│
├─┼─┼───────────┼───────────┤
│2│7│3.364469002│4.176536709│
├─┼─┼───────────┼───────────┤
...
├─┼─┼───────────┼───────────┤
│5│8│4.744037125│3.891049294│
└─┴─┴───────────┴───────────┘
   makenum readcsv jpath '~temp/myfile.csv'
1 7 5.32962 5.67877
2 7 3.36447 4.17654
3 7 4.21495 7.20521
4 7 3.32414 8.93519
5 7 4.74636 3.89335
1 8 5.31216 5.65157
2 8  3.3787 4.17521
3 8 4.20277 7.21697
4 8 3.32497 8.92438
5 8 4.74404 3.89105

插件将自动将2维以上的数组重塑为2维,这样就不会引起任何空白行。如果您仍然有空白行,那么最好是了解为什么要创建空白行并阻止它们被写入。如果仍然需要删除它们,那么上面显示的技术将起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章