【发布时间】:2017-01-30 18:42:51
【问题描述】:
我正在尝试从第 1 列作为日期时间值的 csv 文件中进行绘图,如下所示
27-08-2016 08:43 21.38329164
使用此代码:
from matplotlib import pyplot as plt
from matplotlib import style
import numpy as np
import datetime as dt
from datetime import datetime
import matplotlib.dates as mdates
style.use('ggplot')
x,y = np.genfromtxt('I112-1a.csv', unpack=True,dtype=None, delimiter = ',', converters={0: lambda x: datetime.strptime(x, '%d-%m-%Y %H:%M')})
plt.title('Panel Charge')
plt.ylabel('Y axis')
plt.xlabel('X axis')
plt.show()
我收到此错误:
x,y = np.genfromtxt('I112-1a.csv', unpack=True,dtype=None, delimiter = ',', converters={0: lambda x: datetime.strptime(x, '%d-%m-%Y %H:%M')})
ValueError: too many values to unpack
请帮忙! 谢谢
【问题讨论】:
-
您不需要也不能将
np.genfromtxt()的结果分配给两个变量,因为在这种情况下它是单个对象ndarray。您要么必须使用x, y = *np.genfromtxt(....)解压缩它,要么只需将其分配给 x 并绘制它。matplotlib可能会自行处理解包 -
请不要在评论区回答。
标签: python csv pandas matplotlib genfromtxt