phpmyadmin 导出 CSV 到 excel 删除数据

Posted

技术标签:

【中文标题】phpmyadmin 导出 CSV 到 excel 删除数据【英文标题】:phpmyadmin export CSV to excel drops data 【发布时间】:2015-02-07 23:01:18 【问题描述】:

我将 mysql 与 XAMPP 一起使用,并使用 phpmyadmin 从表中提取数据。如果我选择导出为 CSV,则数据似乎没问题。但是,当我选择使用“CSV for MS Excel”选项导出时,我会丢失导出文件中的一些数据。两种情况下的设置都是一样的。

具体来说,如果字段中有逗号,则至少有时会删除逗号后面的数据。请注意,逗号包含在标准 CSV 格式的其他文本的引号中,因此不应将逗号视为字段分隔符。字段内逗号后的数据会被删除,但除此之外,逗号字段后的字段中的数据也会被删除,但不一定是整条记录。

因此,假设记录 2 在 C 列的基于文本的字段中有一个逗号,例如“大手笔,好人”。 Excel 中 C 列的内容是“大手笔”,其中“好人”被删除。此外,D、E、F 和 G 列也可能丢失数据。但在某些情况下,似乎后面的列(可能是 H、I、J 和 K)可能包含正确的数据。我并不是说它总是会丢失任何特定数量的列的数据,只是某些数字似乎会丢失数据,但有时列会在正确的列中再次开始包含数据。

我看不出什么被丢弃和什么没有被丢弃的清晰模式,只是我上面描述的事情昨天发生在我正在使用的数据集中。注意我可以在SQL表中看到完整的数据,如果我使用直接的CSV导出,似乎没有数据丢失。

这可能是一个错误吗?我搜索了已知的错误,但没有找到。仅供参考,我在 Windows 7 机器上的 Office 2007 中使用 Excel。原始数据源是 SugarCRM。

非常感谢。

【问题讨论】:

【参考方案1】:

使用文本编辑器打开 phpmyadmin 为您制作的 CSV 文件,而不是使用 Excel。找到有问题的行(其中包含big spender, nice guy 的行)。看看是不是这个样子

"whatever","whatever","big spender, nice guy", 123, 456

whatever,whatever,big spender, nice guy, 123, 456

如果它是第二个,则您的列没有正确分隔。因此,CSV 看起来很难正确处理,并且因为这种文本字符串的可能性:

Joe said, "O'Meara is a big spender and a nice guy!" 

您可能希望尝试将数据导出到制表符分隔而不是逗号分隔的文件中来解决这个问题。您可以通过指定普通的而不是 Excel 样式的 CSV 来做到这一点。然后指定

\t

它要求您输入“以:分隔的列”。

Excel 将能够在读取时弄清楚这一点。

【讨论】:

以上是关于phpmyadmin 导出 CSV 到 excel 删除数据的主要内容,如果未能解决你的问题,请参考以下文章

phpmyadmin 导出表格到CSV,繁体中文变成问号

PHPmyadmin 3.4.9 导出到 CSV 的问题

导入 excel .csv 文件并将其添加到 phpMyAdmin 的列中

将 CSV excel 导入到 phpmyadmin 然后“?”自动引入[关闭]

从 MySQL 导入到 Excel 的 CSV 在日期结束时留下“/”

csv从excel导入phpmyadmin缺少数据