【发布时间】:2018-03-18 09:03:46
【问题描述】:
我正在使用 LOAD DATA INFILE 语句将数据从管道分隔的 CSV 导入 MySQL。我正在使用 '\r\n' 来终止行。我的问题是每行中的一些数据中有'\r\n',导致加载出错。我有类似的文件,只是在数据中使用 '\n' 来表示换行符,这不会导致任何问题。
良好的 CSV 示例
School|City|State|Country\r
Harvard University|Cambridge|MA|USA\r
Princeton University|Princeton|New
Jersey
|USA\r
错误的 CSV 示例
School|City|State|Country\r
Harvard University|Cambridge|MA|USA\r
Princeton University|Princeton|New\r
Jersey\r
|USA\r
有没有办法预处理 CSV,使用 sed、awk 或 perl,以清除列值中的额外回车?
【问题讨论】:
-
是的,Ed,很遗憾。这是给我的格式,我没有能力改变它。
-
行有固定数量的字段吗?
-
@ChrisTurner 是的,有固定数量的字段
-
@EdMorton 是的,我可以确定哪个字段通常具有多行数据。
-
抱歉,Ed,我没有意识到您已经编辑了我原来的问题。已恢复。
标签: linux perl awk sed text-processing