【发布时间】:2011-08-02 10:25:18
【问题描述】:
是否可以读取值由字符串而不是单个字符分隔的 csv 文件?之前 csv 文件有一个逗号分隔符,但现在它是用字符串分隔符“###”创建的。我无法控制 csv 文件的创建。
我正在使用 Opencsv 库 http://sourceforge.net/projects/opencsv/,它似乎不支持仅字符串分隔符。
有没有办法解决上述问题? Opencsv 库有什么好的和类似的替代品吗?
【问题讨论】:
是否可以读取值由字符串而不是单个字符分隔的 csv 文件?之前 csv 文件有一个逗号分隔符,但现在它是用字符串分隔符“###”创建的。我无法控制 csv 文件的创建。
我正在使用 Opencsv 库 http://sourceforge.net/projects/opencsv/,它似乎不支持仅字符串分隔符。
有没有办法解决上述问题? Opencsv 库有什么好的和类似的替代品吗?
【问题讨论】:
文档为您提供了如何执行此操作的示例。见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', '\'');
【讨论】: