通过python包pyExcelerator/xlwt将特殊字符写入excel表

Sim*_*man 5 python excel character-encoding special-characters xlwt

任务:
我使用python包pyExcelerator(与xlwt相比)从csv-files生成格式化的excel表.我需要能够写出小于或等于(≤)和大于或等于(≥)的符号.

到目前为止:
我可以将我的表保存为具有UTF-8编码的csv文件,这样我就可以通过在我的python源代码中添加以下行来查看文本编辑器中的特殊字符:

#! /usr/bin/env python
# -*- coding: UTF-8 -*-
Run Code Online (Sandbox Code Playgroud)

问题:
但是,没有选择在pyExcelerator的Font类中选择UTF-8作为字体.唯一的选择是:

CHARSET_ANSI_LATIN          = 0x00
CHARSET_SYS_DEFAULT         = 0x01
CHARSET_SYMBOL              = 0x02
CHARSET_APPLE_ROMAN         = 0x4D
CHARSET_ANSI_JAP_SHIFT_JIS  = 0x80
CHARSET_ANSI_KOR_HANGUL     = 0x81
CHARSET_ANSI_KOR_JOHAB      = 0x82
CHARSET_ANSI_CHINESE_GBK    = 0x86
CHARSET_ANSI_CHINESE_BIG5   = 0x88
CHARSET_ANSI_GREEK          = 0xA1
CHARSET_ANSI_TURKISH        = 0xA2
CHARSET_ANSI_VIETNAMESE     = 0xA3
CHARSET_ANSI_HEBREW         = 0xB1
CHARSET_ANSI_ARABIC         = 0xB2
CHARSET_ANSI_BALTIC         = 0xBA
CHARSET_ANSI_CYRILLIC       = 0xCC
CHARSET_ANSI_THAI           = 0xDE
CHARSET_ANSI_LATIN_II       = 0xEE
CHARSET_OEM_LATIN_I         = 0xFF
Run Code Online (Sandbox Code Playgroud)

这些字符集中的任何一个都包含小于或等于和大于或等于的符号吗?如果是这样,哪个?
哪个python编码名称对应于这些集合?还有另一种方法可以生成这些特殊字符吗?

Vir*_*liu 5

这应该有助于UTF-8使用pyexcelerator或 xlwt 编写字符:

wb = xlwt.Workbook(**encoding='utf-8'**)
Run Code Online (Sandbox Code Playgroud)

编辑:

似乎它不适用于pyexcelerator,但我还没有确认它.


Jas*_*mbs 4

你可能想太多了。字体不应该影响这个问题,尽管字符编码可能会影响这个问题。

\n\n

无论如何,我能够使用 xlwt 通过以下脚本创建带有小于等于和大于等于符号的 Excel 电子表格:

\n\n
import xlwt\nwb = xlwt.Workbook()\nws = wb.add_sheet('Test Sheet')\nlte = u'\\u2264'\ngte = u'\\u2265'\nws.write(0,0,lte+gte)\nwb.save('foo.xls')\n
Run Code Online (Sandbox Code Playgroud)\n\n

请注意,- -coding: utf-8 - - 不是必需的,因为特殊字符是使用其 unicode 数字索引进行编码的。一般来说,我建议尽可能使用 unicode。

\n\n

还可以使用 utf-8 并将字符直接键入 Python 代码。除了字符的输入方式不同之外,这将完全相同:

\n\n
#-*- coding: utf-8 -*- \nimport xlwt\nwb = xlwt.Workbook()\nws = wb.add_sheet('Test Sheet')\nlte = u'\xe2\x89\xa4'\ngte = u'\xe2\x89\xa5'\nws.write(0,0,lte+gte)\nwb.save('foo.xls')\n
Run Code Online (Sandbox Code Playgroud)\n\n

但请注意,您使用的编辑器必须知道您正在将 Python 代码保存为 UTF-8。如果您的编辑器以任何其他方式对文件进行编码,则 Python 解释器加载时将无法正确解析特殊字符。

\n