0

我的客户向我提供了一个 XSLX 电子表格,在某些列中可以有单引号和/或双引号。我在 LibreOffice 中打开它并将其保存为 CSV。然后我尝试在 phpMyAdmin 中导入它,但每次导入都会被单引号或双引号绊倒,这取决于我指示用于转义的哪个行。

将 XLSX 保存为 CSV 时,我选择 UTF-8 进行编码(默认为 Windows-1252),逗号作为列分隔符,选中“保存单元格内容,如图所示”。对于“文本分隔符”和“引用所有文本单元格”,我分别尝试了这两个选项(分隔符的单引号和双引号,引号的选中/未选中)。

然后在 phpMyAdmin 中,对于导入,我选择 UTF-8,用双引号(或单引号,与我在 LibreOffice 中选择的内容相匹配)括起来的列,对于用反斜杠、双引号和单引号进行转义的列.

在所有情况下,我都会收到错误消息“第 n 行的 CSV 输入中的列数无效”。行号取决于我为列转义/分隔符(单引号或双引号)选择的内容。如果我选择双引号作为分隔符,我会在第一行出现错误,其中有一列包含未转义的单引号,反之亦然。

如何在单元格中使用单引号和双引号导入此电子表格?

4

1 回答 1

0

好的,经过更多研究和“摆弄”后,我想通了。

在我的情况下,对于导入,我使用 LOAD DATA 选择了 CSV,对“包含的列”使用了双引号,并清除了转义的列。

LOAD DATA 显然告诉 phpMyAdmin 允许 MySQL 直接处理文件。如果我可以为“常规”CSV 导入选择指定分隔符等,我不确定为什么这会影响我的问题,但它似乎对我有用!

希望这可以帮助其他人。

于 2012-04-09T15:55:11.603 回答