java - 使用 Caigen CSV 阅读器查询带有左引号和右引号的字符串值

标签 java csv

美好的一天,

我有一个 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/

相关文章:

c# - 将 DataTable 转换为 CSV 的最有效方法

java - 从 JSON 到 DTO 的智能映射结构映射

java - Android DynamoDBMappingException : Expected S in value

MySQL:LOAD DATA INFILE csv 忽略主字段插入

java - 通过 Excel 打开时更改 csv 文件中超链接的显示名称

vba - 通过宏导入 CSV 时日期格式不一致

c# - 解析以分号分隔的文件

java - 使用 unboundid sdk 在 ApacheDS 服务器中搜索组内的用户

java - 登录成功后如何显示另一个布局

java - Mac 上的 Eclipse 与 Windows 上的 Eclipse 比较?