如何从csv文件中读取日期/时间字段,并在python中相应地绘制图形
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何从csv文件中读取日期/时间字段,并在python中相应地绘制图形,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1961字,纯文字阅读大概需要3分钟。
内容图文
我使用python csv模块从CSV文件导入记录.
日期/时间字段要求日期采用特定格式,但是
不同的电子表格程序默认为不同类型的格式
我不希望用户必须改变他们的格式.我想
找到一种方法来检测字符串所在的格式,或者只允许
几种指定的格式.
如何从csv文件中读取日期/时间字段并绘制图形
因此.
解决方法:
dateutil可以解析各种格式的日期字符串,而无需事先指定日期字符串的格式:
In [8]: import dateutil.parser as parser
In [9]: parser.parse('Jan 1')
Out[9]: datetime.datetime(2011, 1, 1, 0, 0)
In [10]: parser.parse('1 Jan')
Out[10]: datetime.datetime(2011, 1, 1, 0, 0)
In [11]: parser.parse('1-Jan')
Out[11]: datetime.datetime(2011, 1, 1, 0, 0)
In [12]: parser.parse('Jan-1')
Out[12]: datetime.datetime(2011, 1, 1, 0, 0)
In [13]: parser.parse('Jan 2,1999')
Out[13]: datetime.datetime(1999, 1, 2, 0, 0)
In [14]: parser.parse('2 Jan 1999')
Out[14]: datetime.datetime(1999, 1, 2, 0, 0)
In [15]: parser.parse('1999-1-2')
Out[15]: datetime.datetime(1999, 1, 2, 0, 0)
In [16]: parser.parse('1999/1/2')
Out[16]: datetime.datetime(1999, 1, 2, 0, 0)
In [17]: parser.parse('2/1/1999')
Out[17]: datetime.datetime(1999, 2, 1, 0, 0)
In [18]: parser.parse("10-09-2003", dayfirst=True)
Out[18]: datetime.datetime(2003, 9, 10, 0, 0)
In [19]: parser.parse("10-09-03", yearfirst=True)
Out[19]: datetime.datetime(2010, 9, 3, 0, 0)
将日期和值收集到列表中后,可以使用plt.plot绘制它们.例如:
import matplotlib.pyplot as plt
import datetime as dt
import numpy as np
n=20
now=dt.datetime.now()
dates=[now+dt.timedelta(days=i) for i in range(n)]
values=[np.sin(np.pi*i/n) for i in range(n)]
plt.plot(dates,values)
plt.show()
根据Joe Joeton的评论,也可以使用matplotlib.dates.datestr2num而不是显式使用dateutil.parser来制作类似于上图的图:
import matplotlib.pyplot as plt
import matplotlib.dates as md
import datetime as dt
import numpy as np
n=20
dates=['2011-Feb-{i}'.format(i=i) for i in range(1,n)]
dates=md.datestr2num(dates)
values=[np.sin(np.pi*i/n) for i in range(1,n)]
plt.plot_date(dates,values,linestyle='solid',marker='None')
plt.show()
内容总结
以上是互联网集市为您收集整理的如何从csv文件中读取日期/时间字段,并在python中相应地绘制图形全部内容,希望文章能够帮你解决如何从csv文件中读取日期/时间字段,并在python中相应地绘制图形所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。