大家好,我没有看到这个特定的问题弹出,我看到了一些相关的问题,但没有解决这个问题。
我有非常大的CSV(高达8gb(,逗号作为分隔符,一些列中有自由文本,一些自由文本中有逗号。
作为需求,我不能生成或要求使用另一个分隔符再次生成CSV,我必须使用数据流来实现这一点。
我想学习如何处理文本,例如:
A, some text 2132,ALL, free text 00001,2020-11-29 - 2020-12-05
A, some text 2132,ALL, free text,more text 0002,2018-12-09 - 2018-12-15
A, some text 2132,ALL, free text,more text 00003,2018-12-09 - 2018-12-15
我尝试过的东西:
- 我尝试制作简单的数据流和复制活动,以查看解析器是否正确执行了操作,但它没有正确执行,无论我尝试的数据集配置组合为csv
- 我试着把整个csv作为一列来阅读,用"regexed out,这就出现了"失去";csv中的逗号,所以我有空格作为分隔符,所以我回到正方,没有合适的分隔符,因为文本有空格并且会中断
实际上,数据工厂无法处理列数据具有与列分隔符相同字符的csv文件。这将导致架构/列丢失。即使使用数据流,数据工厂也会始终根据分隔符编号将第一行识别为模式。
正如您所说,您无法更改源csv文件,也无法使用数据流。那么我恐怕要说,我们在数据工厂无法实现这一目标。
我为此做了什么(做了两次,结果不同,所以我仍然缺少一些东西,但其中一次成功了(。
创建一个没有分隔符的数据集,以便将整个CSV行作为列读取。在那里使用数据流替换函数来消除有问题的字符串。以CSV形式写入磁盘。
读取为带有适当分隔符的CSV。做任何需要做的数据,像拼花地板一样写入磁盘。这似乎奏效了。