如何在CSV中拆分字段并将行中的字段复制到新行

史蒂夫

我有一个使用CSV文件的目的地,并且第6个字段包含单词,但最大字符长度为16。如果该字段长度超过16个字符,我想复制该行并将其拆分而不破坏单词。

当前文件

"5","4","3","2","1","XYZ ABCD E"
"1","2","3","4","5","AB CDE F GHI JK LMNOP Q RS TUV W XYZ 12 3456 7890"
"9","8","7","6","5","LMN O PQ R"

期望的输出

"5","4","3","2","1","XYZ ABCD E"
"1","2","3","4","5","AB CDE F GHI JK"
"1","2","3","4","5","LMNOP Q RS TUV W"
"1","2","3","4","5","XYZ 12 3456 7890"
"9","8","7","6","5","LMN O PQ R"
钢铁司机

使用GNU awk中(gawk)运行fold通过一个函数getline /变量/协进程

gawk -F, '
  BEGIN{
    OFS=FS; 
    cmd="fold -sw 16";
  }

  # if total length (16 + 2 for quotes) is within limit, print as-is
  length($NF) <= 18 {print; next}

  # else
  {
    # trim the quotes, then fold
    print substr($NF,2,length($NF)-2) |& cmd; 
    close(cmd,"to"); 
    NF--; 
    while((cmd |& getline var) > 0){

      # (optional) trim trailing whitespace
      sub(/[ \t]+$/,"",var);

      print $0, "\"" var "\"" ;
    }
    close(cmd,"from");
  }
' file.csv

sub去除后空格fold的操作。

请注意,要获得所示的精确输出,将需要使用fold -sw1716个字符和(随后删除的)尾随空格来中断。但是,这样做可能会导致折叠输出的最后一行超过16个字符的限制。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ag-grid:需要将行的非连接字段的功能复制到单行中

来自分类Dev

如何在python中将标头行复制到新的csv

来自分类Dev

如何在Parse.com上将纬度和经度字段复制到GeoPoint中

来自分类Dev

将行表复制到“新表”中。| jQuery

来自分类Dev

删除.eml文件中的行,并将新的“文件”(目标A)复制到多个文件(目标B)中

来自分类Dev

计算母版上的自定义字段并将其复制到行上的自定义字段-Acumatica

来自分类Dev

如何在Excel中复制行并将值从一个单元格复制到另一个单元格?

来自分类Dev

如何在文件中搜索字符串并将找到的行和下一行复制到另一个文件?

来自分类Dev

如何在文件中搜索字符串并将找到的行和下一行复制到另一个文件?

来自分类Dev

如何复制到剪贴板,列表中的每个元素都将包含新行[pyperclip]

来自分类Dev

如何每次逐行读取CSV文件并将其存储到新行的新CSV文件中?

来自分类Dev

如何将字段1拆分为不同的行,但如何为创建的每个新行复制字段2

来自分类Dev

将更改的字段复制到Java中的对象中

来自分类Dev

搜索行中的特定文本并将其复制到单元格

来自分类Dev

将熊猫数据框中的某些行复制到新行(时间条件)

来自分类Dev

将数组复制到另一个数组中,并将缺少的字段替换为null

来自分类Dev

如何在CQL中验证所有行是否已成功从CSV复制到Cassandra表?*** SELECT语句未返回所有结果

来自分类Dev

读取现有的CSV并将0、6和9列复制到新的CSV中

来自分类Dev

如何将Matlab数组复制到结构数组的字段中

来自分类Dev

如何将纬度和经度字段复制到Parse.com上的GeoPoint中

来自分类Dev

满足条件后如何将SAS数值复制到缺少的字段中

来自分类Dev

如何将多个文件中的行复制到一个文件中,并将行命名为原始文件名

来自分类Dev

从文件中读取文本时,如何在EditText字段中插入新行

来自分类Dev

如果空白,则将CSV字段复制到下一行(同一列)-重击(最好)

来自分类Dev

从一个txt文件中提取所有行,并将其复制到新的文本文件中,并附带一些附加功能

来自分类Dev

如何获取单击链接的html并将其复制到特定的输入字段

来自分类Dev

如何在Classic Asp中复制字段

来自分类Dev

CSV导出中的字段拆分

来自分类Dev

如何在VBA中将基于列A重复名称的整个行复制到其各自的工作表中?

Related 相关文章

  1. 1

    Ag-grid:需要将行的非连接字段的功能复制到单行中

  2. 2

    如何在python中将标头行复制到新的csv

  3. 3

    如何在Parse.com上将纬度和经度字段复制到GeoPoint中

  4. 4

    将行表复制到“新表”中。| jQuery

  5. 5

    删除.eml文件中的行,并将新的“文件”(目标A)复制到多个文件(目标B)中

  6. 6

    计算母版上的自定义字段并将其复制到行上的自定义字段-Acumatica

  7. 7

    如何在Excel中复制行并将值从一个单元格复制到另一个单元格?

  8. 8

    如何在文件中搜索字符串并将找到的行和下一行复制到另一个文件?

  9. 9

    如何在文件中搜索字符串并将找到的行和下一行复制到另一个文件?

  10. 10

    如何复制到剪贴板,列表中的每个元素都将包含新行[pyperclip]

  11. 11

    如何每次逐行读取CSV文件并将其存储到新行的新CSV文件中?

  12. 12

    如何将字段1拆分为不同的行,但如何为创建的每个新行复制字段2

  13. 13

    将更改的字段复制到Java中的对象中

  14. 14

    搜索行中的特定文本并将其复制到单元格

  15. 15

    将熊猫数据框中的某些行复制到新行(时间条件)

  16. 16

    将数组复制到另一个数组中,并将缺少的字段替换为null

  17. 17

    如何在CQL中验证所有行是否已成功从CSV复制到Cassandra表?*** SELECT语句未返回所有结果

  18. 18

    读取现有的CSV并将0、6和9列复制到新的CSV中

  19. 19

    如何将Matlab数组复制到结构数组的字段中

  20. 20

    如何将纬度和经度字段复制到Parse.com上的GeoPoint中

  21. 21

    满足条件后如何将SAS数值复制到缺少的字段中

  22. 22

    如何将多个文件中的行复制到一个文件中,并将行命名为原始文件名

  23. 23

    从文件中读取文本时,如何在EditText字段中插入新行

  24. 24

    如果空白,则将CSV字段复制到下一行(同一列)-重击(最好)

  25. 25

    从一个txt文件中提取所有行,并将其复制到新的文本文件中,并附带一些附加功能

  26. 26

    如何获取单击链接的html并将其复制到特定的输入字段

  27. 27

    如何在Classic Asp中复制字段

  28. 28

    CSV导出中的字段拆分

  29. 29

    如何在VBA中将基于列A重复名称的整个行复制到其各自的工作表中?

热门标签

归档