xls to csv с поддержкой символов chainese - PullRequest
0 голосов
/ 19 февраля 2010

Сохраняя файл Excel с символом chainese в csv, эти символы преобразуются в ??? (Знаки вопроса) нежелательные символы.

Пожалуйста, дайте мне знать, есть ли у кого-нибудь из вас решение для этого. Я попытался сохранить его в тексте Unicode, он работал нормально, но когда я попытался сохранить его как .csv, он не работает.

Спасибо

Ответы [ 2 ]

1 голос
/ 19 февраля 2010

У меня раньше была похожая проблема с японскими символами. В то время Excel 2003 экспортировал только CSV на Latin1 (или, возможно, Windows 1352). Я в основном написал свой собственный макрос Excel для итерации по строкам и столбцам и создал строку в памяти того, как будет выглядеть CSV-файл. Затем я использовал ADODB.Stream, чтобы сохранить его сам. Этот пример кода должен помочь вам начать работу.

Dim csvdata As String
Dim CRLF As String
Dim objStream As Object

CRLF = Chr(13) & Chr(10)

csvdata = """key"",""value""" + CRLF
csvdata = csvdata + """a"",""a""" + CRLF
csvdata = csvdata + """aacute"",""á""" + CRLF

Set objStream = CreateObject("ADODB.Stream")
objStream.Open
objStream.Position = 0
objStream.Charset = "UTF-8"
objStream.WriteText csvdata
objStream.SaveToFile "test.csv", 2 ' adSaveCreateOverWrite
objStream.Close
0 голосов
/ 20 февраля 2010

Зачем вам нужен CSV-файл? В какой кодировке это нужно? UTF-8? GBK? Какое программное обеспечение будет читать файл CSV? Какую версию Excel вы используете?

Если вы знаете Python, вы можете использовать модуль xlrd , чтобы прочитать файл Excel, отформатировать данные, кодировать их и записать в файл CSV, или использовать его для обновления базы данных, или что угодно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...