由于CSV只是一个文本文件,我相信它可以处理UTF8编码,所以我猜这是Excel的限制,但我正在寻找一种从Excel到CSV的方法,并保持非ASCII字符完整。
在 Excel 2016 及更高版本(包括 Office 365)中,有一种专门用于 UTF-8 格式的 CSV 选项。
在 Office 365 中,选择“另存为”,之前可能会选择 CSV(逗号分隔)格式,现在可以保存为其中一个文件类型:CSV UTF-8(逗号分隔)(*.csv)
Get-Content 'C:\my.csv' | Out-File 'C:\my_utf8.csv' -Encoding UTF8
对于那些寻求完全编程化(或至少是服务器端)解决方案的人,我使用catdoc的xls2csv工具取得了巨大成功。
安装catdoc:
apt-get install catdoc
进行转换:
xls2csv -d utf-8 file.xls > file-utf-8.csv
这非常快。
请注意,重要的是您包含 -d utf-8
标志,否则它将使用默认的 cp1252
编码来编码输出,您可能会丢失信息。
请注意,xls2csv
仅适用于 .xls
文件,不适用于 .xlsx
文件。
最简单的方法: 不需要使用Open Office或Google Docs
csv
文件,然后将所有制表符替换为逗号。在Win 10的记事本中,只需选择一个制表符字段,然后单击Ctrl+H
。在打开的窗口中,在“替换为”字段中输入逗号,
,然后单击“全部替换”。保存您的文件。结果将是一个以逗号分隔的UTF-8 csv文件。无论如何不要用 MS-Office 打开它!!! 现在您有一个以制表符分隔的CSV文件。 如果您执行了第5步,则为逗号分隔的文件。
.txt
扩展名。逗号分隔的文件 csv
只会让人感到困惑。 - dof1985虽然看起来有些滑稽,但我发现将我的180MB电子表格保存为UTF8 CSV文件的最简单方法是将单元格选入Excel中,复制它们,然后将剪贴板内容粘贴到SublimeText中。
简单的方法:下载开放办公软件(点击这里),加载电子表格并打开excel文件(.xls
或.xlsx
)。然后将其另存为文本CSV文件,会弹出一个窗口询问是否保留当前格式或保存为 .ODF 格式。选择“保留当前格式”,在新窗口中根据文件所写语言的选项选择最适合您的选项。对于西班牙语,请选择西欧(Windows-1252/ WinLatin 1
),文件就可以正常工作了。如果选择 Unicode (UTF-8
),它将不能与西班牙字符一起使用。
将xls文件(Excel文件)保存为Unicode文本=>文件将以文本格式(.txt)保存
将格式从.txt更改为.csv(将文件名从XYX.txt重命名为XYX.csv)
我也遇到了相同的问题,但有一个简单的解决方法。
这样做可以完美地解决问题,生成了一个可以导入任何软件的csv文件。我将这个csv文件导入我的SQLITE数据库中,所有Unicode字符都完好无损地运行。