Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过matplotlib和numpy剥离/识别日期_Python_Numpy_Matplotlib - Fatal编程技术网

Python 通过matplotlib和numpy剥离/识别日期

Python 通过matplotlib和numpy剥离/识别日期,python,numpy,matplotlib,Python,Numpy,Matplotlib,我试图让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 ma

我试图让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'
回溯(最近一次呼叫最后一次):
文件“/Users/michaelsylvia/Documents/help.py”,第18行,在
解包=真)#解包到多个变量
loadtxt中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/numpy/lib/npyio.py”,第985行
items=[zip格式(conv,val)的conv(val)]
文件“/Users/michaelsylvia/Documents/help.py”,第11行,在
datefunc=lambda x:mdates.date2num(datetime.strtime(x,'%Y%m%d%H%m%S'))
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_strptime.py”,第332行,在_strptime中
(数据字符串,格式))
ValueError:时间数据“2013051000000”与格式“%Y%m%d%H%m%S”不匹配
这项工作:

datefunc = lambda x: mdates.date2num(datetime.strptime(x, '%Y%m%d%H%M%S'))
您的日期中没有空格。

这样做:

datefunc = lambda x: mdates.date2num(datetime.strptime(x, '%Y%m%d%H%M%S'))

日期中没有空格。

您应该使用pandas
read\u csv
,因为您的数据是逗号分隔的。如果它的.txt文件看起来像是您的时间戳“201305000000”的年份超出了python所能处理的范围,这无关紧要。熊猫与逗号分隔有什么关系
loadtxt
也可以使用逗号分隔的文本。您应该使用pandas
read\u csv
,因为您的数据是逗号分隔的。如果它的.txt文件看起来像是您的时间戳“201305000000”的年份超出了python所能处理的范围,这无关紧要。熊猫与逗号分隔有什么关系
loadtxt
也适用于逗号分隔的文本。工作正常-棒极了!谢谢你,工作了-太棒了!非常感谢。