如何将带有中文字符的Excel文件导入到CSV中?

我有一个包含中文字符的数据表的Excel文档。 我试图导入这个Excel电子表格到一个CSV文件导入到MySQL数据库。

但是,将Excel文档保存为CSV文件时,记事本将生成的CSV文件的中文字符显示为问号。 导入MySQL保留了问号,完全忽略了原来的汉字。

我怀疑这可能与使用UTF-8编码的Excel有关。 谢谢你的帮助!

据我所知Excel不保存任何Unicode编码的CSV文件。 我最近有类似的问题试图导出文件为CSV与英镑符号。 我有能力完全使用另一个工具的好处。

我的Excel 2010版本可以以Unicode格式导出File > Save As > Unicode Text (.txt) ,但输出是制表符分隔的UCS-2编码文件。 我根本不了解MySQL,只是简单地看一下规范,它似乎处理制表符分隔的导入和UCS-2。 可能值得尝试这个输出。

编辑:此外,您可以随时在记事本中打开此Unicode输出++将其转换为UTF-8 Encoding > Convert to UTF-8 without BOM并可能用逗号replace所有选项卡字符(使用扩展search模式下的replace对话框\t “查找”框和“replace”框中)。

下面的方法已经过testing,用于在MongoDB中导入CSV文件,所以它应该工作:

  1. 在您的Excel工作表中,转至“文件”>“另存为”。

  2. 命名该文件,然后从“另存为types”旁边的下拉列表中selectUnicode文本(* .txt),然后单击保存。

  3. 使用您喜欢的文本编辑器打开unicode .txt文件,例如记事本。

  4. 由于我们的unicode文本文件是制表符分隔的文件,我们希望将Excel转换为CSV(逗号分隔)文件,因此我们需要用逗号replace所有的制表符。

  5. select一个制表符,右键单击它并从上下文菜单中select复制,或者按下CTRL + C,如下面的屏幕截图所示。

  6. 按CTRL + H打开“replace”对话框,并将复制的选项卡(CTRL + V)粘贴到“查找内容”字段中。 当你这样做时,光标将向右移动,表示该标签被粘贴。 在replace为字段中键入逗号,然后单击全部replace。

  7. 单击文件>另存为,input文件名并将编码更改为UTF-8。 然后点击保存button。

  8. 在记事本的另存为对话框中直接将.txt扩展名更改为.csv,然后select保存types旁边的所有文件( ),如下面的屏幕截图所示。

  9. 通过单击文件>打开>文本文件(.prn,.txt,.csv)打开CSV文件并validation数据是否正常。

来源于此

你可能想尝试记事本++,我怀疑记事本将支持Unicode字符。

http://notepad-plus-plus.org/

我已经尝试了以上所有的方法,但是对于我的数据(简体中文,超过700Mb)并没有什么效果,我已经试过了Windows中文和英文系统,英文和中文excel,Windows excel似乎无法保存到utf8甚至它声称是这样做的,我指定uft8 csv保存为,但是当我使用'open sheet'来检测编码方法时,它不是uft8,也不是GB *,这是我的最终解决scheme。

(1)下载“打开表单”。

(2)正确打开它。 您可以滚动编码方法,直到您看到中文字符显示在预览窗口中。

(3)把它保存为utf-8(如果你想utf-8)。

PS:你需要找出系统中的默认编码。 据我所知,Ubuntu处理UTF8罚款。 但是Windows默认的Simplied Chinese是以GB **开始的,即使你编码为utf8,你也可以直接打开它。 在我的情况下,r无法打开我的utf-8 csv,但可以打开GB *编码。

即使你的文件非常大,这个方法也能正常工作。 一些其他的工作是谷歌表(但文件大小可以被限制)。 Notepad ++也适用于较小的文件。

有一种方法来检测编码方法,方法是打开文件并滚动编码方法,直到看到中文正确显示。