我正在以.csv文件的格式从系统中检索日常日志。我想把它们导入我的数据库。问题是,由于某种原因,这些.csv文件似乎缺少CRLF行尾(它正在被LF替换)。如果我在Notepad++中打开文件,那么所有的行尾都是LF --这是行不通的,因为上传时,我使用CRLF来确定行,并使用LF来确定列,从而将文件拆分到数据库中。
如果我在Excel中打开.csv文件,并将其保存为.csv文件,则CRLF将被添加,我可以将它很好地上传到数据库中。
我不明白,当我用notepad++来阅读的时候,所有的结尾都是LF,但是Excel可以在某种程度上区分哪些是CRLF,哪些是LF?
文件是4-8MB,所以Excel需要一段时间才能打开它(+-30秒?),所以我想知道是否有人知道问题所在,以及是否有其他方法解决问题,而不是在Excel或CSV编辑器中打开它,然后再次保存它。对于我想摆脱的自动化过程来说,这是非常不必要的工作。
谢谢!
发布于 2020-09-11 07:09:16
这有点难说,但如果问题是:“为什么能超越打开这些”,答案可能很简单:因为他们设计它。
在所有软件中都生成了许多不正确的text/csv,所以也许Excel工程师只是简单地决定了,即使它是错误的,也是值得解析的。要编写能够同时识别\n和\r\n的软件并不难,也就是说.如果您正在生成CSV,您应该对关心行尾的软件使用\r\n。
https://stackoverflow.com/questions/63842291
复制相似问题