首页  >  文章  >  Java  >  如何正确处理带有空白边界的 CSV 文件?

如何正确处理带有空白边界的 CSV 文件?

Susan Sarandon
Susan Sarandon原创
2024-10-25 02:26:42554浏览

How to Handle CSV Files with Whitespace Boundaries Correctly?

使用 Scanner() 读取 CSV 问题

使用 Scanner() 读取 CSV 文件时,通常会遇到文本包含空格的问题被移动到下一行。发生这种情况是因为 Scanner 遵循空格边界。

Scanner() 用法中的 CSV 处理不正确

提供的代码片段使用 Scanner() 读取和处理 CSV 文件。但是,它不能正确处理带有空格的行。例如,在 CSV 行“地址 1,地址 2”中,“地址 1”和逗号之间的空格导致其被分成多行。

CSV 解析指南

使用 CSV 文件时,必须考虑以下准则:

  • 不正确的 CSV 解析器会产生错误的结果:互联网上的许多 CSV 解析器都实现引用,转义和其他方面不正确,导致不正确的输出。
  • 使用强大的 CSV 库:要避免这些问题,请利用成熟的 CSV 库,例如 opencsv、Ostermiller Java Utilities 或 Apache Commons CSV。
  • 遵循 CSV RFC:如果您坚持创建自己的解析器,请仔细研究 CSV 的官方 RFC 以确保正确实施。

在这种特定情况下,以下几点突出显示了不正确的处理:

  • CSV 文件可以在分隔符和(引用的)值之间包含空格。
  • Scanner() 拆分输入基于空白边界,这对于 CSV 解析是不正确的。
  • 要正确读取 CSV 文件,您应该考虑使用更合适的 CSV 解析器库。

以上是如何正确处理带有空白边界的 CSV 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn