我有一个csv文件,它有5列,用","分隔。
读取csv时,当数据列中有","时出现问题。
我尝试使用Opencsv,但它给出了同样的问题。
如果列中包含逗号(,
),则必须用双引号("
)括起来。双引号可以通过重复来转义(""
)。因此,包含逗号值的行必须这样表示:
"hello, world", "This says: ""hello, world"""
该行包含两个值:
- hello, world
- 显示:"hello, world"
没有办法区分作为值的一部分的逗号和用于分隔两个值的逗号。如果您的值将包含逗号,并且无法转义它们,则必须使用另一个分隔符。
我修改了代码,在csv中使用分号作为分隔符。现在我可以正确读取带有","的数据了
您需要使用其他符号来分隔csv文件中的单词。我不认为有一种方法可以捕捉到单词本身的逗号。
无法区分逗号是value的一部分,逗号是CSV的一部分。使用不同的分隔符。值必须用引号括起来。或在转换为CSV之前,将所有逗号转换为值中没有出现的字符,可以在稍后阶段恢复。