我正在运行一个处理30,000个类似文件的程序.随机数量正在停止并产生此错误......
File "C:\Importer\src\dfman\importer.py", line 26, in import_chr
data = pd.read_csv(filepath, names=fields)
File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 400, in parser_f
return _read(filepath_or_buffer, kwds)
File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 205, in _read
return parser.read()
File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 608, in read
ret = self._engine.read(nrows)
File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 1028, in read
data = self._reader.read(nrows)
File "parser.pyx", line 706, in pandas.parser.TextReader.read (pandas\parser.c:6745)
File "parser.pyx", line 728, in pandas.parser.TextReader._read_low_memory (pandas\parser.c:6964)
File "parser.pyx", line 804, in pandas.parser.TextReader._read_rows (pandas\parser.c:7780)
File "parser.pyx", line 890, in pandas.parser.TextReader._convert_column_data (pandas\parser.c:8793)
File "parser.pyx", line 950, in pandas.parser.TextReader._convert_tokens …Run Code Online (Sandbox Code Playgroud) 有没有一种直接的方法来查找属于python包的所有模块?我发现这个旧的讨论并不是真正的结论,但在推出基于os.listdir()的自己的解决方案之前,我希望得到明确的答案.
以下Python代码适用于我的Windows机器(Python 2.5.4),但不适用于我的Debian机器(Python 2.5.0).我猜这是依赖操作系统的.
import locale
locale.setlocale( locale.LC_ALL, 'English_United States.1252' )
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.5/locale.py", line 476, in setlocale
return _setlocale(category, locale)
locale.Error: unsupported locale setting
Run Code Online (Sandbox Code Playgroud)
问题:
我正在尝试提取文件的内容(作为字符串/文本).pst。
我尝试了不同的答案,但没有找到任何相关的解决方案。
使用 pypff / libpff 导出 PST 和 OST
我主要关注libpff库(https://github.com/libyal/libpff),但我认为该库对于提取 pst 文本没有帮助。
我的代码:
import pypff
pst = pypff.file()
pst.open("my_pst_file.pst")
Run Code Online (Sandbox Code Playgroud)
该代码打开 pst,但我不知道如何将其内容提取为 txt。
我知道我可以做以下事情:
>>> import encodings, pprint
>>> pprint.pprint(sorted(encodings.aliases.aliases.values()))
['ascii',
'base64_codec',
'big5',
'big5hkscs',
'bz2_codec',
'cp037',
'cp1026',
'cp1140',
'cp1250',
'cp1251',
'cp1252',
'cp1253',
'cp1254',
'cp1255',
'cp1256',
'cp1257',
'cp1258',
'cp424',
'cp437',
'cp500',
'cp775',
'cp850',
'cp852',
'cp855',
'cp857',
'cp860',
'cp861',
'cp862',
'cp863',
'cp864',
'cp865',
'cp866',
'cp869',
'cp932',
'cp949',
'cp950',
'euc_jis_2004',
'euc_jisx0213',
'euc_jp',
'euc_kr',
'gb18030',
'gb2312',
'gbk',
'hex_codec',
'hp_roman8',
'hz',
'iso2022_jp',
'iso2022_jp_1',
'iso2022_jp_2',
'iso2022_jp_2004',
'iso2022_jp_3',
'iso2022_jp_ext',
'iso2022_kr',
'iso8859_10',
'iso8859_11',
'iso8859_13',
'iso8859_14',
'iso8859_15',
'iso8859_16',
'iso8859_2',
'iso8859_3',
'iso8859_4',
'iso8859_5',
'iso8859_6',
'iso8859_7',
'iso8859_8',
'iso8859_9',
'johab',
'koi8_r',
'latin_1',
'mac_cyrillic',
'mac_greek',
'mac_iceland', …Run Code Online (Sandbox Code Playgroud) Python 有一个unicode内置函数可以将字节流转换为 unicode 字符串。

我只是希望我可以查询我的系统上所有可用的编码。但如何。
这个问题的原因是:有人使用 MAC OS X 向我发送了一封内容编码为“iso-2022-cn”的电子邮件,我发现 Windows 7 上的 Python 2.7 无法识别该编码。
>>> print unicode(bs2022, 'iso-2022-cn')
Traceback (most recent call last):
File "<pyshell#97>", line 1, in <module>
print unicode(bs2022, 'iso-2022-cn')
LookupError: unknown encoding: iso-2022-cn
Run Code Online (Sandbox Code Playgroud)
所以我想通过查看Python可以支持的所有编码来找出Python是否对“iso-2022-cn”使用了不同的名称。
是否可以在 Python 中检查给定的字符集是否存在/已安装。例如:
check('iso-8859-1') -> True
check('bla') -> False