【发布时间】:2016-07-15 22:09:34
【问题描述】:
请帮忙!!
这段代码有很多麻烦。这里的任务是根据相关日期绘制一些信息(高、低和中)。
数据位于 .csv 文件中,标题为:日期、高、中、低。日期采用 dd/mm/yyyy 格式。
到目前为止,我已经使用 genfromtxt 来指定列和数据类型等。 但是,我认为 Python 读取列的方式存在问题 - 我不断收到“索引过多”:
Traceback (most recent call last):
File "F:\Python\A1.py", line 14, in <module>
x = data[:,0]
IndexError: too many indices
或者如果我使用 x = data[;,'Date] 我会得到这个:
Traceback (most recent call last):
File "F:\Python\A1.py", line 14, in <module>
x = data[:,'Date']
ValueError: invalid literal for long() with base 10: 'Date'
完整代码如下:
import pylab as py
import numpy as np
import datetime as dt
import csv
data = np.genfromtxt('F:\\Python\\All.csv', usecols=(0,1,2,3), names=True, skip_header=0, dtype=[('Date', 'S10')]),('High','f8'),('Medium','f8'),('Low','f8')], delimiter = ',')
print data
x = data[:,Date]
y1 = data[:,1]
y2 = data[:,2]
y3 = data[:,3]
Date2 = []
for x in data:
date_format = dt.datetime.strptime((str(x)), '%d/%m/%Y')
Date2.append.date_format
谢谢!
【问题讨论】:
-
你能发布 CSV 前几行的 sn-p 吗?当您打印出“数据”时,您会看到什么?是否符合您的预期?每当我遇到这些问题时,通常是 python 解析文件的问题与我预期的不同。
标签: python csv datetime numpy genfromtxt