【问题标题】:Read "string" separated values using Opencsv使用 Opencsv 读取“字符串”分隔值
【发布时间】:2011-08-02 10:25:18
【问题描述】:

是否可以读取值由字符串而不是单个字符分隔的 csv 文件?之前 csv 文件有一个逗号分隔符,但现在它是用字符串分隔符“###”创建的。我无法控制 csv 文件的创建。

我正在使用 Opencsv 库 http://sourceforge.net/projects/opencsv/,它似乎不支持仅字符串分隔符。

有没有办法解决上述问题? Opencsv 库有什么好的和类似的替代品吗?

【问题讨论】:

    标签: java opencsv


    【解决方案1】:

    文档为您提供了如何执行此操作的示例。见http://opencsv.sourceforge.net/#custom-sepators

    我可以使用自己的分隔符和引号字符吗?
    是的。有些构造函数可以满足您自己的需求 分隔符和引号字符。假设您正在为您的 分隔符,你可以这样做:

      CSVReader reader = new CSVReader(new FileReader("yourfile.csv"), '\t');
    

    如果你单引号你的转义字符而不是 双引号,你可以使用三个 arg 构造函数:

      CSVReader reader = new CSVReader(new FileReader("yourfile.csv"), '\t', '\'');
    

    【讨论】:

    • 我读过,他们只提到单个字符,而不是字符串
    • @aldrin 根据我最近的相关问题 (stackoverflow.com/questions/8653797/…),显然没有可以处理多字符 CSV 分隔符的开源 Java 库。但是,如果您同时找到了一个,请在那里贡献。
    • @PNS 不,我没有找到替代方案。我尝试修改 OpenCSV 以处理多字符分隔符,但这并非易事。所以我最终用单个字符替换了多字符作为预处理步骤并继续。
    猜你喜欢
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多