我开始学习python并需要你的帮助。我上次只用Matlab编程。
我希望将一个while循环数据形成一个.csv web文件,如果日期变量发生变化,将数据附加到旧数据并将其存储在(cell-)数组中,稍后将该选项存储在数据库中。
所以我在python中的代码:
import csv
import urllib.request
url = "http://download.finance.yahoo.com/d/quotes.csv?s=AGRO.BA,PR15.BA,&f=sl1d1t1c1ohgv&e=.csv"
ftpstream = urllib.request.urlopen(url)
csvfile = csv.reader(ftpstream.read().decode('utf-8')) #with the appropriate encoding
data = [row for row in csvfile]
输出为: (数据表示:刻度,值,日期,时间,变化,平均值,高,低,值)
[' AGRO.BA',' 3.14',' 10/28/2015',' 4:49 pm&#39 ;,' + 0.09',' 3.05',' 3.25',' 3.00',' 150988&#39 ] [' BA-C.BA',' 115.00',' 10/21/2015',' 11:41 am',&# 39; + 0.00',' 115.00',' 115.00',' 115.00',' 100'] ..
正如我在matlab中可以理解的那样,python将数据保存为2行,作为数据中的字符串。
1。问题: 如何将其保存在具有不同变量类型的cellarray中的数据中?
2。问题: 如何将日期保存为datenum(datenumber)?
第3。问题: 如何在没有' am'的情况下更改24小时格式的时间格式?或者' pm'所以把它存储为时间或双倍而不是字符串?
4。问题: 如何在while循环中拨打数据,如果时间发生变化,程序会加载旧的存储数据(cell-)数组并将新数据传入旧数据(不会覆盖,但要注意旧数据!)?
谢谢!
答案 0 :(得分:2)
叹息。如果有人发布这样的指针,你应该做什么,是使用谷歌查找与“Python”和“泡菜”有关的文件。如果不知道它被称为pickle,那么找到你需要的python文档需要更长的时间。
然而,为了后代的利益,这里是绝对的基础知识,作为两个独立的翻译会议
保存一些Python对象(dict和list-structure)的示例,允许稍后重新创建对象
>>> d=dict(a=1,c=3,e=5)
>>> d
{'a': 1, 'c': 3, 'e': 5}
>>> L=['hello','goodbye',['a','list','in','a','list']]
>>> f = open('temp.tmp','wb') # open a pickle file
>>> import pickle
>>> pickle.dump( d, f) # save d to the pickle file
>>> pickle.dump( L, f) # followed by
>>> f.close()
然后退出。现在可以通过另一个Python程序读回文件中的内容。请注意,pickle协议有多个版本,因此如果您想要读取不同版本的Python,那么您可能需要找到有关pickle的可选protocol
参数的信息。功能。除此之外,让我们读一下这个文件......
>>> import pickle
>>> f=open('temp.tmp','rb')
>>> something=pickle.load(f)
>>> something
{'c': 3, 'a': 1, 'e': 5}
>>> something2 = pickle.load(f)
>>> something2
['hello', 'goodbye', ['a', 'list', 'in', 'a', 'list']]
>>>
你可以挑选大多数Python对象但不是全部。它们的名单和词汇以及它们都很好。