0

我正在以 .csv 文件的格式从系统中检索每日日志。我想将这些导入我的数据库。问题是,出于某种原因,这些 .csv 文件似乎缺少 CRLF 行结尾(它正在被 LF 取代)。如果我在 Notepad++ 中打开文件,所有行结尾都是 LF - 这将不起作用,因为上传时我使用 CRLF 确定行并使用 LF 确定列将文件拆分到数据库中。

如果我在 Excel 中打开 .csv 文件并将其另存为 .csv 文件,则会添加 CRLF,我可以将其上传到数据库。

我不明白当我用记事本++阅读while时,所有的结尾都是LF,但是Excel可以以某种方式区分哪些是真正的CRLF,哪些是LF?

该文件为 4-8MB,因此 Excel 需要一段时间才能打开它(+-30 秒?),所以我想知道是否有人知道问题是什么以及是否有其他方法可以解决它而不是在 Excel 中打开它或 CSV 编辑器并再次保存。对于我希望摆脱的其他自动化流程来说,这是非常不必要的工作。

谢谢!

格式正确,用 Excel 打开并保存后

下载后的csv文件,无需再次打开保存

4

1 回答 1

0

这有点难说,但如果问题是:“为什么 excel 可以打开这些”,答案可能很简单:因为他们设计了它。

所有软件都生成了很多错误text/csv,所以 Excel 工程师可能只是认为值得解析这些,即使它是错误的。编写可以同时识别\n和的软件并不难\r\n,也就是说...如果您正在生成 CSV,您应该使用确实关心行尾\r\n的软件。

于 2020-09-11T07:09:16.597 回答