【发布时间】:2018-05-12 15:59:31
【问题描述】:
我有多个 CSV 文件,每个文件都有不同数量的条目,每个大约有 300 行。
每个文件的第一行是数据标签
Person_id, person_name, person_email, person_address, person_recruitmentID, person_comments... etc
每个文件中的其余行包含数据
"0001", "bailey", "123 fake, street", "bailey@mail.com", "0001", "this guy doesnt know how to get rid of, commas!"... etc
我想去掉引号之间的逗号。 我目前正在浏览 Text::CSV 文档,但过程缓慢。
【问题讨论】:
-
为什么?这听起来很像您认为它们会干扰 CSV 解析过程,但只要它们在带引号的字符串内,它们就不会引起问题,除非您尝试使用简单的“逗号分割”解析技术。我闻到了XY Problem。告诉我们您为什么要这样做。
-
是的,我用逗号分割,在解析数据后,每一行都被放入一个散列中,其中键是第一行的数据,值是每隔一行的相应数据。 " hash = ( person_id => '0001', person_name =>"bailey" etc...)
-
你已经有了一个非常棒的 CSV 解析器包,它将处理成功解析 CSV 的所有细节,包括处理包含逗号的引号字符串。你为什么不使用它?你所做的类似于得到一只火鸡和一套漂亮的锋利雕刻套装,但决定用大锤砸火鸡并徒手摘下肉。
-
我不知道如何使用 CSV 解析器,我仍在阅读文档,我知道它可以用正则表达式完成,但我不太了解正则表达式。我不想打碎我的火鸡。