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编码名称对应于这些集合?还有另一种方法可以生成这些特殊字符吗?
这应该有助于UTF-8使用pyexcelerator或 xlwt 编写字符:
wb = xlwt.Workbook(**encoding='utf-8'**)
Run Code Online (Sandbox Code Playgroud)
编辑:
似乎它不适用于pyexcelerator,但我还没有确认它.
你可能想太多了。字体不应该影响这个问题,尽管字符编码可能会影响这个问题。
\n\n无论如何,我能够使用 xlwt 通过以下脚本创建带有小于等于和大于等于符号的 Excel 电子表格:
\n\nimport 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')\nRun 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')\nRun Code Online (Sandbox Code Playgroud)\n\n但请注意,您使用的编辑器必须知道您正在将 Python 代码保存为 UTF-8。如果您的编辑器以任何其他方式对文件进行编码,则 Python 解释器加载时将无法正确解析特殊字符。
\n| 归档时间: |
|
| 查看次数: |
6259 次 |
| 最近记录: |