我将数据从平面文件源(以逗号分隔的文本)导入到表中,但数据在某些字段中包含逗号,导致程序包失败。我已经添加了一个文件目标来记录坏行以便稍后重新访问,但是坏行不会被记录,并且数据的唯一部分会被加载到表中。我附在包裹的图像和不完整的执行屏幕下方。这看起来很简单,但我无法弄清楚导致问题的原因。有人可以帮忙吗?
由于
更新
实际上没有正在进行中的错误消息。它看起来像一个成功的运行日志。但事实并非如此。负载不完整。
答案 0 :(得分:0)
首先,删除Flat File Destination。将新的“平面文件目标”任务拖到“数据流”字段中,但尚未对其进行配置。右键单击您的平面文件源,然后转到"显示高级编辑器"。关于"输入和输出属性"选项卡,确保在"平面文件源错误输出"下配置输出。它们可能是由BIDS / VS自动创建的。输入错误列后,单击"确定"关上窗户。 接下来,将红色错误输出箭头从源拖动到目标。这应该会出现"配置错误输出"窗口。确保"错误"下的所有行和"截断"设置为" Redirect Row"然后单击"确定" 最后,打开Flat File Destination,并创建一个新的连接管理器。将连接管理器指向错误输出文件,然后设置列和行分隔符。您可能还想设置文本分隔符。 获得所有这些部分后,应将错误行重定向到错误输出文件。如果没有,请回复您的错误消息和样本数据。
答案 1 :(得分:-1)
在平面文件连接管理器的第一页上,您可以选择文本限定符,通常是双引号。大多数读取CSV文件的程序都知道如何解释用双引号括起来的字符串。
现在单个列值为
14261336 5 Test1.xml
16767594 8 Test2.xml
13601470 7 Test3.xml
12963658 5 Test4.xml
17771952 6 Test5.xml
成为:
headerNames <- c('Id','Type','Filename')
GetNames <- read.csv(file= 'c:/temp/XML/myXMLFiles.csv', header = FALSE, col.names = headerNames) #
list(c(GetNames[3])) %>%
map(read_xml)
CSV文件非常标准的内容