gpt4 book ai didi

java - 天数 : tmap Nullpointer exception while merging two CSV files

转载 作者:行者123 更新时间:2023-11-29 08:45:11 24 4
gpt4 key购买 nike

我想合并两个 CSV 文件。我面临的问题是两个 CSV 文件之一有动态列。

例如

第一个 CSV 文件有两列。 A 和 G。G 列具有逗号分隔值。

A | G       |<-Column Names
--|---------|
A1| G1,G2,G3| <-Row
A2| G2,G5,G6|<-Row

MainCSv

第二个 CSV 文件包含动态列。但它将始终具有 A(uid) 列。例如

A | C1    |C2       |Othercolumns|<-Column Names
--|-------|---------|------------|
A1|C1Value|C2Value | |<-Row
A2|C1Value| C2Value | |<-Row

Lookup CSV

我想合并这两个文件所以输出将是:

A |G          | C1    |C2       |Othercolumns|<-Column Names
--|-----------|-------|---------|------------|
A1| G1,G2,G3 |C1Value|C2Value | |<-Row
A2| G2,G5,G6 |C1Value| C2Value | |<-Row

enter image description here

这是工作。

enter image description here

我没有检查 tfileoutputdelimited_1 中的 include header 选项。这会正确合并 csv 文件,但不会带来第二个 CSV 文件(一个带有动态列)的列信息。输出如下所示。

A |G          |       |         |            |
--|-----------|-------|---------|------------|
A1| G1,G2,G3 |C1Value|C2Value | |<-Row
A2| G2,G5,G6 |C1Value| C2Value | |<-Row

要获取列名,当我检查输出文件中的“include Header”选项时,出现以下异常。

java.lang.NullPointerException
at routines.system.DynamicUtils.writeHeaderToDelimitedFile(DynamicUtils.java:72)
at content.csvmergetest_0_1.CSVMergeTest.tFileInputDelimited_2Process(CSVMergeTest.java:2696)
at content.csvmergetest_0_1.CSVMergeTest.runJobInTOS(CSVMergeTest.java:3109)
at content.csvmergetest_0_1.CSVMergeTest.main(CSVMergeTest.java:2975)

如下所示,在这种情况下,仅从 Tfileinputdelimited_2 中获取一行。我猜那行是标题列,这就是空指针异常的原因。 enter image description here

为什么会这样?我将如何获得标题?请告诉我如何实现这一目标。

最佳答案

将“othercolumns”作为动态类型的 1 列读入文件。 enter image description here

在加入 tMap 之前,您需要从中提取 A 列: enter image description here

然后注意输出模式中只有一种动态类型,因为 talend 无法处理两种。 enter image description here

包含一个标题行和 1 个“othercolumns”colum Z 的结果文件如下所示:

A;G;C1;C2;Z
A1;G1,G2,G3;C1Value;C2Value;Z1
A2;G2,G5,G6;C1Value;C2Value;Z2

关于java - 天数 : tmap Nullpointer exception while merging two CSV files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25759894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com