Python Numpy-loadtxt并使用日期转换器

Python Numpy-loadtxt并使用日期转换器,python,numpy,Python,Numpy,我想加载具有以下格式的txt: 20-Sep-13,178.90,185.83,178.56,183.39,13401689 19-Sep-13,170.80,180.47,169.08,177.92,15594568 18-Sep-13,167.07,167.45,164.20,166.22,5439615 17-Sep-13,165.08,168.42,163.36,166.23,5500719 因此,我使用以下Python行: date, closep, highp, lowp, ope

我想加载具有以下格式的txt:

20-Sep-13,178.90,185.83,178.56,183.39,13401689
19-Sep-13,170.80,180.47,169.08,177.92,15594568
18-Sep-13,167.07,167.45,164.20,166.22,5439615
17-Sep-13,165.08,168.42,163.36,166.23,5500719
因此,我使用以下Python行:

date, closep, highp, lowp, openp, volume = np.loadtxt(stockFile, delimiter=',', unpack=True, converters={0: mdates.strpdate2num('%d-%b-%y')})
但我得到了以下错误:

failed main loop time data '\xef\xbb\xbf20-Sep-13' does not match format '%d-%b-%y'
有人知道我做错了什么吗

Thx,
Maecky

文本文件包含UTF-8 BOM字符。不接受
编码
,但可以传递iterable而不是filename

请尝试以下操作:

stockFile = '....'


import numpy as np
import matplotlib.dates as mdates
import codecs

with codecs.open(stockFile, encoding='utf-8-sig') as f:
    date, closep, highp, lowp, openp, volume = np.loadtxt(f, delimiter=',', unpack=True, converters={0: mdates.strpdate2num('%d-%b-%y')})

看起来文本文件在每行的开头都有一些额外的字符(“\xef\xbb\xbf”)。我不确定这些字符是什么格式。您是否能够重新生成文本文件以排除这些内容?