gpt4 book ai didi

java - 使用 CSV 文件而不是 SQL 语句创建 Java ResultSet

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

我想使用结果集来保存我的用户数据。只有一个问题——数据是 CSV(逗号分隔)格式,而不是数据库。

CSV 文件包含顶部的标题行,然后是数据行。我想动态创建结果集但不使用 SQL 查询。输入将是 CSV 文件。

我期望(根据我的 Java 经验)会有像 rs.newRowrs.newColumnrs.updateRow 这样的方法依此类推,这样我就可以使用结果集的结构而无需先进行任何数据库查询。

结果集上有这样的方法吗?我阅读了文档,但没有找到任何方法。仅从 CSV 构建结果集然后像执行 SQL 查询一样使用它会非常有用。我发现很难使用 java bean、bean 数组列表等 - 因为我想读取具有不同结构的 CSV 文件,相当于 SQL 中的 SELECT * FROM

我不知道列名或列数是什么。因此,诸如“手动将数据添加到 Java ResultSet”之类的其他 SO 问题无法满足我的需求。在那种情况下,他已经有一个 SQL 创建的结果集,并且想要添加行。

在我的例子中,我想从头开始创建一个结果集,并在读入第一行时添加列。现在我正在考虑它,我可以从第一行创建一个查询,使用如下语句SELECT COL1, COL2, COL3 ... FROM 虚拟。然后使用 INSERT ROW 语句读取并插入其余部分。 (后来:)但是在尝试时,它失败了,因为没有关联的真实表。

最佳答案

CsvJdbc开源项目应该做到这一点:

// Load the driver.
Class.forName("org.relique.jdbc.csv.CsvDriver");

// Create a connection using the directory containing the file(s)
Connection conn = DriverManager.getConnection("jdbc:relique:csv:/path/to/files");

// Create a Statement object to execute the query with.
Statement stmt = conn.createStatement();

// Query the table. The name of the table is the name of the file without ".csv"
ResultSet results = stmt.executeQuery("SELECT col1, col2 FROM myfile");

关于java - 使用 CSV 文件而不是 SQL 语句创建 Java ResultSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51772088/

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