5

据我所见,OpenOffice 在将文件另存为 csv 文件时,会将所有字符串包含在引号字符中。

那么是否需要转义字符?

并与这个问题有关:

OpenOffice 是否有默认转义字符?

4

3 回答 3

4

我还想知道在将 OpenOffice 保存为 csv 时是否可以选择转义字符。phpmyadmin 不接受 .ods 格式的 9,000 行 50+ 列电子表格,并且在另存为 CSV 时似乎没有办法选择转义字符。

所以我不得不保存为csv,用word打开,并使用一些查找/替换技巧将转义字符更改为\(反斜杠)。默认是使用双引号来转义双引号,phpmyadmin 不会接受这种格式。

要正确转换文件以使用 \(反斜杠)来转义双引号,您必须这样做:

  1. 选择一个不会出现在 csv 中的占位符字符串,例如“abcdefg”。
  2. 用占位符查找/替换“””(连续三个双引号)。这是为了防止在下一步中可能出现错误的结果。
  3. 查找/替换 "" (连续两个引号,表示应该转义的一个引号),使用 \" (反斜杠双引号)。如果您在没有查找/替换 """ 的情况下执行此操作,可以想象您可以获得结果像“\”而不是\“”。安全总比后悔好。
  4. 用 \"" (反斜杠双引号双引号)查找/替换占位符字符串。

这将起作用,除非您碰巧在原始文本字段中连续有多个双引号,这将导致在生成的 .ods 或 .xlsx csv 文件中连续出现多达五个双引号(两个每个转义双引号的双引号,如果它位于字段的末尾,则加上另一个双引号)。

于 2011-06-09T10:20:28.870 回答
2

引号中的转义使解析 CSV 文件的工具更轻松。

于 2010-01-26T12:03:20.317 回答
0

在最新版本的 LibreOffice (3.4.4) 中,phpMyAdmin 未正确处理 CSV 导出。由于 LibreOffice 不提供转义字符,因此 phpMyAdmin 的默认“CSV”导入功能“列转义为:”效果不佳。数据总是不一致。

但是,使用选项CSV using LOAD DATA确实有效,前提是删除了选项转义的列中的值。我假设 phpMyAdmin 使用默认的 MySQL LOAD DATA 命令,因此将控制权传递给 MySQL 进行数据处理。在我的场景中,它导致了准确的数据导入。

于 2013-01-28T07:40:11.063 回答