使用Pentaho数据集成,我有csv文件输入。我想从csv读取所有列,添加一个带文件名的列(如果我有一个abcd.csv,我想要abcd)并将其插入数据库表。
任何建议,如何为每一行添加文件名列?
答案 0 :(得分:5)
我知道这听起来有点落后但您可能希望使用文本文件输入步骤来解析您的CSV文件,而不是 CSV输入这是一个文本文件输入中的选项子集,对分隔文件有一些性能优势。
使用文本文件输入,您可以使用更多选项来读取文件。您可以将文件类型设置为CSV并在内容标签中选择您的分隔符,并在字段标签中列出您要抓取的字段。使用此步骤可以解决您的问题,因为在其他输出字段选项卡中,您可以在流中指定一个字段来放置文件名,扩展名,文件路径等。
使用 CSV输入时获得的好处是:
如果您需要这些优势,那么您必须以另一种方式获取文件名,例如将其作为命名参数传递,并使用“获取变量”步骤将其添加到流中。
参考资料: