我有以下csv,我必须将一千个逗号分隔符替换为无。在下面的例子中,当我的金额为"1,000.00"
时,我应该有1000.00
(没有逗号,没有引号)。删除CSV中的千位分隔符号(批量命令,使用JREPL)
我用JREPL从我的CSV删除头
jrepl "(?:.*\n){1,1}([\s\S]*)" "$1" /m /f "csv/Transactions.csv" /o "csv/Transactionsfeed.csv")
我在想,如果我能做到去除头+与千个逗号在一个步骤处理的过程。 我也开了与在第二步另一个命令做它的选项...
Tnx ID,Trace ID - Gateway,Profile,Customer PIN,Customer,Ext. ID,Identifier,Amount,Chrg,Curr,Processor,Type,Status,Created By,Date Created,RejectReason
1102845,3962708,SL,John,Mohammad Alo,NA,455015*****9998,900.00,900.00,$,Un,Credit Card,Rejected,Internet,2016-05-16 06:54:10,"-330: Fail by bank, try again later(refer to acquirer)"
1102844,3962707,SL,John,Mohammad Alo,NA,455015*****9998,"1,000.00","1,000.00",$,Un,Credit Card,Rejected,Internet,2016-05-16 06:52:26,"-330: Fail by bank, try again later(refer to acquirer)"
您的解决方案完美适用于千和第一行删除的逗号。如果在双引号之间用逗号分隔字符串,我只注意到一个错误,如下例所示:字段“Special Bonus,OK allan”使其失败(字段中的“,”也应该被删除) Tnx ID,Trace ID - 网关,配置文件,客户PIN,客户,分机ID,标识符,数量,Chrg,Curr,处理器,类型,状态,创建者,创建日期,拒绝原因 1102921,SL,jojo,Mohamed,“Special Bonus,OK allan”,200.00,200.00,$,ManualBonus,泛型,核准,maurice,2016-05-16 15:26:26 –
@RenaudDUGERT - 哼!为什么要删除引号内的所有逗号?这当然不符合你的要求。并且盲目地从引用字段中删除所有逗号可能会改变含义。我明白你为什么要从数字中删除逗号,但不是所有的逗号。但这当然是一个更容易解决的问题。 – dbenham
你是对的...我的错误!但将csv导入到mysql会使字符串中的逗号更难处理。在这种特定情况下,删除字符串(双引号之间)中的逗号将是必要的... –