我们是否可以找到“CSV 行末尾未终止的引用字段”的行号?我正在尝试在 java 中读取 CSV 文件,但出现错误很可能是因为 - 有一个报价已打开但未关闭。 我正在使用 deeplearning4j - datavec 的 CSVRecordReader。
这个想法是,如果我找到该行号,我可以删除/更正它。但问题是,抛出错误时我找不到行号。
如果您有任何关于 Java 或其他方面的建议,请告诉我。谢谢!
最佳答案
对于 datavec,我会考虑使用调试器。 您可以轻松地在以下位置放置断点:https://github.com/deeplearning4j/deeplearning4j/blob/master/datavec/datavec-api/src/main/java/org/datavec/api/records/reader/impl/csv/CSVRecordReader.java#L181并查看哪里无法解析文件。
您也可以编写自己的记录读取器。建议替代 csv 库的人没有完整的上下文,所以让我将其重定向到该库的正确解决方案:你说它是紧密集成的,但你实际上误解了它的耦合位置 .
您可以使用任何您想要的记录阅读器。您不必使用我们提供的那些。这些组件仅在接口(interface)级别耦合。
对于您的特定 csv 问题,您也可以只清理 csv 文件。我的解决方案专注于尝试在您的 ide 中对其进行调试。
无论哪种方式,您都有多种解决方案可供选择。如果您对可用性有特别的建议,也非常欢迎您提出问题:https://github.com/deeplearning4j/deeplearning4j/issues
关于java - 在 CSV 行末尾查找未终止的引用字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51456905/