网上的解决办法:
1.如果你的数据是mysql导入的,点击以下链接:
mysql导入的数据
2.又或者是这样的:
替换null值组件
不过对我都没有用。呜呜呜!
数据导入与预处理的实验。
以下是我自己的实验和解决过程,实验目的是合并四张excel表:
1.建立转换,创建Excel输入和Mirosoft Excel输出。
2.在Excel输入文件的“文件”标签卡中增加文件。
3.然后“内容”标签卡中获取工作表。
4.“字段”标签卡中获取字段。
是的,这里获取的字段很奇怪,应该是四组,大概每组对应一张Excel表(我刚好有四张表要合并),但我们实际上只需要文件1~7的字段。这里暂时先保持这个样子!
5.然后在“Microsoft Excel 输出”中,在“文件&工作表”标签卡中设置合并文件的保存路径及扩展名。
6.然后在“内容”标签卡中获取字段 。
同样获取到了四组类似字段,暂时保持这个样子。
7.执行转换报错。
正是题目所描述的错误。
开始解决错误,百度了一下,试了一下别人的方法,什么中间接一个“替换null值”的组件啊,可是一个都没成功。
最后我重新思考了一下这句话的意思,既然不能将string类型转化为date类型,那我干脆将字段“开课时间”的类型改为string类型,不让它转换类型了,这里将输入文件和输出文件中的字段都要进行修改,当然首先删除多余字段,只留1~7行的字段。至于为什么先前不删,我等下再说。
此时再次执行转换,终于转换成功。
查看转换结果:
合并成功!
8.好,说一说前面为什么不先删除多余字段。现在我重新开始一个新的转换,我提前删除了多余字段并将“开课时间”改为string类型,最后执行转换时,报错了
Unexpected conversion error while
converting value [v String] to a Number
指的是“学分”字段报错了,不能转变为数字类型。
于是按照前面的经验,我将其也设置为String类型,再执行转换
可是,依然报错,只不过此时说的是“课时数”不能转化为数字类型,于是我干脆将所有字段设置为string类型,终于执行转换通过。但是转换结果是这样的:
这不是我们想要的合并结果(编号没了),这也是字段类型全为string类型导致的。
所以总结一下,还是要按照之前的顺序来!
此为原创,希望对大家有用!
来源:CSDN
作者:HackerLZH
链接:https://blog.csdn.net/Hackeryuan/article/details/104523801