美好的一天,
我有一个 java 程序,它使用 Caigen CSV JDBC 驱动程序来查询 CSV 文件并返回其内容。不幸的是,返回的字符串值没有左引号和右引号。 Caigen 有没有办法查询特定的 CSV 列并返回其内容带或不带包含引号。
示例
表.CSV
ROW 1. "APPLE",$1.40
ROW 2. ORANGE,$1.30
ROW 3. "LEMON",$1.50
SQL: Select COLUMN1 from TABLE1
Expected results:
ROW 1. "APPLE"
ROW 2. ORANGE
ROW 3. "LEMON"
编辑: 获取引号的目的是查看外部程序(我无法控制)是否正确生成了 CSV。缺少引号意味着 CSV 不正确。
最佳答案
CSV 文件中的引号是文件结构的一部分,而不是字段本身的一部分。所以 CAIGEN 删除它们是正确的,通常你不应该为此担心。
如果您需要它们,则意味着您不将它们作为 CSV 引用字符进行处理。恕我直言,这意味着您应该将 CAIGEN 配置为使用另一个字符作为引号。 您应该选择不会出现在您的文件中的另一个角色。假设单引号 ('
) 是可接受的选择,只需在连接字符串中声明它即可:
con = DriverManager.getConnection("jdbc:csv:[DatabasePath]?_CSV_Quoter='")
关于java - 使用 Caigen CSV 阅读器查询带有左引号和右引号的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40838586/