首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用U提取简单的Csv文件。

无法使用U提取简单的Csv文件。
EN

Stack Overflow用户
提问于 2018-08-30 06:47:21
回答 1查看 97关注 0票数 1

我有这个csv文件,几乎所有的记录都处理得很好,但是有两种情况下我遇到了问题。

案例1:包含引号中的引号的记录:

代码语言:javascript
复制
"some data "some data" some data"

案例2:在引号中包含逗号的记录:

代码语言:javascript
复制
"some data, some data some data"

我已经研究过这个问题,并且研究了提取器的引用参数,但是我注意到设置(quoting:false)可以解决案例1,而设置(quoting:true)可以解决案例2,而设置(quoting:true)可以解决案例2,但是对于案例1失败。

constraints:没有修改数据文件的空间,未来的数据将进行相应的调整,但对于这些现有数据,我必须解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2018-08-31 11:31:29

试一试,将记录导入为一行,并使用双引号修复行文本(对逗号做同样的操作):

代码语言:javascript
复制
DECLARE @input string = @"/Samples/Data/Sample1.csv";
DECLARE @output string = @"/Output/Sample1.txt";

// Import records as one row

@data =
    EXTRACT rowastext string
    FROM @input
    USING Extractors.Text('\n', quoting: false );

// Fix the row text using double quotes

@query =
    SELECT Regex.Replace(rowastext, "([^,])\"([^,])", "$1\"\"$2") AS rowascsv
    FROM @data;    

OUTPUT @query
TO @output
USING Outputters.Csv(quoting : false);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52090769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档