我使用bash脚本为AdWords创建报告(AdWords文件采用python格式)。我正在制作一个" CAMPAIGN_PERFORMANCE_REPORT" (作为CSV文件),我采取的措施之一是"转换"。 我的问题是 - 当我有超过一千次转换时,数字是"在每一边和逗号。 例如:
2016-12-25,Campaign_A,Universal App Campaign,264.0
2016-12-25,Campaign_B,Universal App Campaign,"1,535.0"
2016-12-25,Campaign_C,Universal App Campaign,"1,472.0"
2016-12-25,Campaign_D,Universal App Campaign,"1,378.0"
2016-12-25,Campaign_E,Universal App Campaign,382.0
2016-12-25,Campaign_F,Universal App Campaign,431.0
当我将这些数据插入MySQL时,单元格被分为2,我得到了#34; 1"在转换而不是1535(例如)。
所以我在这两个问题中需要你的帮助:
谢谢!
答案 0 :(得分:1)
评论太长了。
如果要将数据加载到MySQL中,那么您应该使用load data infile
。
此命令有一个选项:fields optionally enclosed by
,您可以在其中指定双引号字符。这将把分隔符作为值的一部分而不是值分隔符之间的逗号处理。
您可以查看文档here。
答案 1 :(得分:0)
您可以通过这样的sed过滤器运行该文件:
sed -r ':l s/"([0-9]+),/"\1/g; t l; s/"([0-9.]+)"$/\1/g' yourfile > convertedfile
它使用两步法删除逗号和引号:
[0-9.]+
)后跟,
,就会删除逗号::l s/"([0-9]+),/"\1/g; t l;
(这是"标签;删除逗号;如果有什么东西被删除了goto label" - construct)[0-9.]+
)$
)周围的引号
醇>