有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

csv文件中的java反斜杠

在我的应用程序中,我通过sql中的“加载数据本地填充”文件名命令将csv文件读入数据库。如果其中一个字段出现反斜杠,相邻字段就会合并。如何在将文件读入数据库时忽略反斜杠

例如

“abcd”、“efgh\”和“ijk”

它会以同样的方式出现在餐桌上 col1 | col2 | col3 abcd | efghijk |空

我想把它放在哪里 col1 | col2 | col3 abcd | efgh | ijk

任何指针都会有帮助

谢谢, 阿什


共 (1) 个答案

  1. # 1 楼答案

    默认情况下,加载数据使用\作为转义字符。考虑你的输入:

    "abcd", "efgh\", "ijk"
    

    序列\"被解释为一个不包含引号的文字,而不是后跟引号的反斜杠

    最好的解决方案是正确地避开CSV文件中的反斜杠,例如:

    "abcd", "efgh\\", "ijk"
    

    如果做不到这一点,可以通过在LOAD DATA INFILE语句中添加ESCAPED BY ''来禁用转义。这将阻止它将\识别为转义字符,但请记住,它也将禁用输入文件中的所有其他转义序列。这也将导入efgh\,反斜杠不会被忽略

    如果导入efgh\是不可接受的,那么您必须修复输入文件的格式,或者稍后在应用程序逻辑中或使用另一个SQL查询删除尾随\项

    有关文件格式选项的更多信息,请参见MySQL LOAD DATA INFILE Syntax

    希望有帮助