我希望能够将2个csv文件作为输入,在特定列上加入它们(SQL样式),并输出包含所有file1数据的新csv文件,以及file2中的一列数据。
有关实现此目标的最佳方法的任何提示将是?由于SQL提供了join命令,因此将csv文件视为数据库的一些方法可能会运行良好,但我对所有建议都持开放态度 - 最简单的胜利。
非常感谢所有帮助!
答案 0 :(得分:0)
执行一些简单的文件IO,拆分每一行并将其加载到Set类型容器中。然后,您可以对两个文件的内容进行设置类型操作:
答案 1 :(得分:0)
您可以解析CSV文件并使用opencsv将它们绑定到Bean: http://opencsv.sourceforge.net/ 在这里,您可以将CSV中的实体绑定到Bean列表: http://opencsv.sourceforge.net/#javabean-integration
然后,您可以通过程序化方式将Bean视为您想要的,例如相互追加列表,或类似连接的逻辑等。
答案 2 :(得分:0)
一种非常简单的非编程方法:将两个文本文件导入电子表格,然后使用vlookup(或其等价物)从一个工作表中查找值到另一个工作表。
答案 3 :(得分:0)
对于直接操作CSV文件的SQL表,请参阅: Reading a CSV file into Java as a DB table
答案 4 :(得分:0)
您也可以尝试将JDBC驱动程序用于以下CSV文件: http://sourceforge.net/projects/csvjdbc/
答案 5 :(得分:0)
我编写了一个命令行程序来对csv文件执行任意SQL,包括多文件连接,称为gcsvsql。你可以在这里阅读:
http://bayesianconspiracy.blogspot.com/2010/03/gcsvsql.html
此处有一个Google Code项目:http://code.google.com/p/gcsvsql/
它是用Java / Groovy编写的,可以在Java可用的任何地方运行。