【问题标题】:Checking and Splitting CSV File Content into 2 separate files检查 CSV 文件内容并将其拆分为 2 个单独的文件
【发布时间】:2018-02-23 09:04:45
【问题描述】:

我有一个如下所示的 csv 文件:

Docushare Host
locale, created_at, version
en,Wed Feb 21 17:25:36 UTC 2018,07.00.00.C1.609

User
handle, client_data, docCountQuota
User-12,,-2

Document
handle,client_data,cfSpecialWords
Document-13,x,y
Document-14,z,a
Document-11,ab,cd

Collection
handle,client_data,routing_template
Collection-1,asdsad,asdad
Collection-2,xyz, abc
Collection-3,xada, adsad

有没有更快的方法来拆分这个 CSV 并生成两个单独的文件:

 Document-13,x,y
 Document-14, z, a
 Document-15, ab, cd

 Collection-1,asdsad,asdad
 Collection-2,xyz, abc
 Collection-3,xada, adsad

这两个文件将用于 nodejs 应用程序,该应用程序将再次对其进行解析以创建具有所需字段的最终 CSV。

谢谢你们。

【问题讨论】:

    标签: javascript node.js bash csv awk


    【解决方案1】:

    遵循简单的awk 可能对您有所帮助:

    awk -F, '/^Document-/ && NF>1{print > "Document.csv";next} /^Collection/ && NF>1{print > "Collection.csv"}'   Input_file
    

    现在也添加非单线形式的解决方案:

    awk -F, '
    /^Document-/ && NF>1{
      print > "Document.csv";
      next
    }
    /^Collection/ && NF>1{
      print > "Collection.csv"
    }
    '   Input_file
    

    作为输出,它将创建 2 个名为 Document.csvCollection.csv 的输出文件,其内容将与您显示的相同。

    【讨论】:

    • 感谢您帮助一位试图学习编码的老人。谢谢!也将阅读更多关于 AWK 的内容。我不知道。我试图用javascript来做,但做不到。谢谢!我还将检查是否可以在我的节点应用程序上运行此命令行代码。一旦我单击一个按钮,就会像这样运行。谢谢!
    • @JohnMedina,欢迎您,我们都在这里学习,也看到这个链接一次stackoverflow.com/help/someone-answers欢呼并继续学习:)
    猜你喜欢
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多