我试图让Python识别包含格式如此
的数据的txt文件 20130501000000,1.55358,1.55371
20130501000000,1.55357,1.55369
20130501000000,1.55353,1.55367
20130501000000,1.55349,1.55367
20130501000000,1.55349,1.55367
目前我的脚本仅包含
import time
import datetime
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import matplotlib.dates as mdates
from datetime import datetime
import numpy as np
# Converter function
datefunc = lambda x: mdates.date2num(datetime.strptime(x, '%Y %m %d %H %M %S'))
# Read data from 'file.dat'
date, bid, ask = np.loadtxt('GBPUSD1d.txt', # Data to be read
delimiter=',', # First column is 19 characters wide
converters={0: datefunc}, # Formatting of column 0
dtype=float, # All values are floats
unpack=True) # Unpack to several variables
fig = plt.figure()
然而我的输出
Traceback (most recent call last):
File "/Users/michaelsylvia/Documents/help.py", line 18, in <module>
unpack=True) # Unpack to several variables
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/lib/npyio.py", line 985, in loadtxt
items = [conv(val) for (conv, val) in zip(converters, vals)]
File "/Users/michaelsylvia/Documents/help.py", line 11, in <lambda>
datefunc = lambda x: mdates.date2num(datetime.strptime(x, '%Y %m %d %H %M %S'))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_strptime.py", line 332, in _strptime
(data_string, format))
ValueError: time data '20130501000000' does not match format '%Y %m %d %H %M %S'
答案 0 :(得分:2)
这有效:
datefunc = lambda x: mdates.date2num(datetime.strptime(x, '%Y%m%d%H%M%S'))
您的约会中没有空格。