将具有chainese字符的excel文件保存到csv时,这些字符正在转换为??? (问号)垃圾字符。
如果您有任何解决方案,请告诉我。我尝试将其保存在unicode文本中,它工作正常,但当我尝试将其保存为.csv时,它无效。
由于
答案 0 :(得分:1)
我之前遇到类似日文字符的问题。当时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
答案 1 :(得分:0)
为什么需要CSV文件?您需要什么编码? UTF-8? GBK?什么软件会读取CSV文件?您使用的是哪个版本的Excel?
如果您了解Python,则可以使用xlrd module来读取Excel文件,格式化数据,对其进行编码,并将其写入CSV文件,或者使用它来更新数据库等等。 / p>