源代码在CSV文件中提供了带有额外双引号的几行。
要将附加的双引号替换为管道(|)(例如,下面的“G”和“Junior”),在处理数据之后将恢复为双引号。数值字段不带双引号,某些值带双引号。空白值在双引号中定义。
1,"abc","Class (""G"") as agreed , with new Value x",7004,"rec"
2,"prq","Promoting ""Junior"" to Senior, showing good results","",x
结果应为:
1,"abc","Class (|G|) as agreed , with new Value x",7004,rec
2,"prq","Promoting |Junior| to Senior, showing good results","",x
我们必须使用Copy命令通过ADF管道处理CSV文件。每个文件包含1个mill+记录。SFTP --> ADLS -->数据库。我们需要解决这个额外的双引号问题,同时处理文件从ADLS到数据库。
我们不使用JSON或数据块或Python。它只是一个加载到数据库简单文件。
尝试了以下解决方案--下面的链接替换了双引号内的逗号,但试图根据要求更改它,但没有运气,
(“[^",]+)""([^"]+”)
regex to remove comma between double quotes notepad++。
先谢谢你。
2条答案
按热度按时间2skhul331#
您应该使用CSV感知工具。其中一个是Miller。
跑步
你得到
一些注意事项:
-N
设置为无标题CSV;put
是运行单元格函数的动词;gsub
运行全局搜索和替换的函数;$3
将其应用于第三字段。您的CSV有一些不必要的引号。最好是有
要使用米勒获取它,您可以将格式从csvlite更改为csv,然后运行
dwbf0jvd2#
感谢您提供的所有答复和解决方案。
已通过更改ADF管道复制活动的以下设置修复此问题。
[Copy活动设置更改]