csv - 无法使用 U-SQL 提取简单的 Csv 文件
问题描述
我有这个 csv 文件,几乎所有的记录都得到了很好的处理,但是有两种情况我遇到了问题。
案例 1: 引号中包含引号的记录:
"some data "some data" some data"
案例 2: 引号内包含逗号的记录:
"some data, some data some data"
我已经研究了这个问题,并设法研究了提取器的引用参数,但我观察到设置(quoting:false)解决了案例 1 并且对于案例 2 失败并且设置(quoting:true)解决了案例 2 但是案例1失败。
约束:没有更改数据文件的空间,未来的数据将相应地调整,但对于这个现有数据,我必须解决这个问题。
解决方案
试试这个,将记录作为一行导入并使用双引号修复行文本(对逗号做同样的事情):
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);
推荐阅读
- gnuradio - 标头/有效负载解复用器没有输出
- django - Django如何从多对多关系中获取价值
- google-calendar-api - Google Free Busy 不会返回 7:00 pm 之后存在的事件
- arrays - 生成不重复的组合(排列)矩阵(数组超过最大数组大小首选项)
- python - 在 CSV 文件的开放行中写入
- pouchdb - PouchDB-find 多层文档
- pine-script - 指标错误 - 必须使用 (max_bars_back)
- c++ - 如何在递归循环中停止崩溃
- javascript - 不确定如何修复未安装组件问题上的 React 状态更新
- python - 在 python 中,如何在不使用 selenium webdriver 的情况下找到 HTML 元素的可见性?