Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.60 KB | None | 0 0
  1. from pymystem3 import Mystem
  2. import time
  3. import configparser
  4. import pymysql
  5. import datetime
  6.  
  7.  
  8. from datetime import date
  9.  
  10. import pylab
  11. import matplotlib.dates
  12.  
  13. import numpy as np
  14.  
  15. try:
  16.  
  17. conn = pymysql.connect(host='127.0.0.1',
  18. database='mydb',
  19. user='root',
  20. password='565326',
  21. autocommit=True,
  22. use_unicode=True,
  23. charset="utf8")
  24. except IOError:
  25. print("file %s not exist")
  26.  
  27.  
  28. good = ["положительные","неплохой","удобный","хороший подобранный","спокойный","преуспевающий","преуспели","преуспевать","величественный",
  29. "удачливый","доброжелательный","милый","красивый","классный","прикольный","испольуемый","чудесный","проработанный",
  30. "лучший","симпатичный","приятный","необходимый","удивительный","удивлять","благодарный","благодарить","благодарность",
  31. "понравившийся","понравиться","эффективный", "эффективность",
  32. "понятный","оригинальный","наилучший","изумлять", "раработатья","новинка","новый", "дешевле",
  33. "запускать", "открывать", "запуск","запустил", "создавать","понравилось","пользуемся","выпустит",
  34. "прибавили","любопытный", "изумленный","продемонстрировал","представил","оптимизация","выпущен","крутые"]
  35.  
  36.  
  37. negative = ["осуждаемый","прокомментирванный","прокомментировал","коментировать","занимательный","обсуждаемый",
  38. "печальный","осудил","бесстрастный","бесчувственный","проклятый","украденный","воровать","сворованный","своровать","обвиняемый","обвинять",
  39. "заподозренный","подозревать","подозреваемый","непонятный","непонял","виновный","осуждаемый","раздражительный","раздражать"
  40. ,"украденный","заподозренный",
  41. "недоделанный","виновный","банальный","нереализованный","плохой","ужасный","сломанный","сломать","спамящий","спамить",
  42. "худший","надоевший", "ненадежный","трудный","обвинения","дольше","компромат","раздор","шпионский", "дороже","потребует","требует","платным","заблокировал","позор","тупой","добивают","ущербное"]
  43.  
  44. good1 = ["приток: валют 1", "повышение : цен на нефть 1; курса рубля 1", "динамика: положительная 1" , "увеличилась: доля экспорта 1",
  45. "отмена: санкций 1", "ревальвация 1"]
  46. negative1 = ["падение: цен на нефть 1", "санкции 1", "падение : резкое 1", "девальвация", "зависимость : сырьевая 1",
  47. "динамика: отрицательная 1", "доля : экспорта уменьшилась 1", "колебания : курса 1"]
  48.  
  49.  
  50. m = Mystem()
  51.  
  52.  
  53.  
  54.  
  55. def StartDictionarry():
  56.  
  57.  
  58. for line in negative:
  59. rules = line.split(":")
  60.  
  61. j = rules.__len__()
  62. if j >= 2:
  63. checkStr = m.lemmatize(rules[0])[0] + " :"
  64. splRules = (rules[1]).split(" ")
  65. for word in splRules:
  66. if word.isalpha():
  67. checkStr = checkStr +" "+ m.lemmatize(str(word))[0]
  68. else:
  69. checkStr = checkStr + " " + str(word)
  70. else:
  71. checkStr = m.lemmatize(rules[0])[0] + " 1"
  72. cur = conn.cursor()
  73.  
  74. cur.execute("SELECT Word FROM mydb.Dictionary Where Word =" + "'" + checkStr + "'" ";")
  75.  
  76. numrows = int(cur.rowcount) #kolvo sstrok
  77. # проверка на выборку по данному слову что она пуста
  78. if (numrows == 0):
  79. cur.execute( "insert into mydb.Dictionary (Word,Weight,Emotion,Resoursename_id) Values (" + "'"+checkStr+"'" + ",1,false,1);")
  80.  
  81.  
  82.  
  83.  
  84. for line in good:
  85. rules = line.split(":")
  86.  
  87. j = rules.__len__()
  88. if j >= 2:
  89. checkStr = m.lemmatize(rules[0])[0] + " :"
  90. splRules = (rules[1]).split(" ")
  91. for word in splRules:
  92. if word.isalpha():
  93. checkStr = checkStr + m.lemmatize(str(word))[0]
  94. else:
  95. checkStr = checkStr + " " + str(word)
  96. else:
  97. checkStr = m.lemmatize(rules[0])[0] + " 1"
  98. cur.execute("SELECT Word FROM mydb.Dictionary Where Word =" + "'" + checkStr + "'" ";")
  99.  
  100. numrows = int(cur.rowcount) # kolvo sstrok
  101. # проверка на выборку по данному слову что она пуста
  102. if (numrows == 0):
  103. cur.execute( "insert into mydb.Dictionary (Word,Weight,Emotion,Resoursename_id) Values (" + "'"+checkStr+"'" + ",1,true,1);")
  104.  
  105.  
  106.  
  107. for line in negative1:
  108. rules = line.split(":")
  109.  
  110. j = rules.__len__()
  111. if j >= 2:
  112. checkStr = m.lemmatize(rules[0])[0] + " :"
  113. splRules = (rules[1]).split(" ")
  114. for word in splRules:
  115. if word.isalpha():
  116. checkStr = checkStr + " " + m.lemmatize(str(word))[0]
  117. else:
  118. checkStr = checkStr + " " + str(word)
  119. else:
  120. checkStr = m.lemmatize(rules[0])[0] + " 1"
  121.  
  122. cur.execute("SELECT Word FROM mydb.Dictionary Where Word =" + "'" + checkStr + "'" ";")
  123.  
  124. numrows = int(cur.rowcount) # kolvo sstrok
  125. # проверка на выборку по данному слову что она пуста
  126. if (numrows == 0):
  127. cur.execute( "insert into mydb.Dictionary (Word,Weight,Emotion,Resoursename_id) Values (" + "'"+checkStr+"'" + ",1,false,2);")
  128.  
  129.  
  130. for line in good1:
  131. rules = line.split(":")
  132.  
  133. j = rules.__len__()
  134. if j >= 2:
  135. checkStr = m.lemmatize(rules[0])[0] + " :"
  136. splRules = (rules[1]).split(" ")
  137. for word in splRules:
  138. if word.isalpha():
  139. checkStr = checkStr + m.lemmatize(str(word))[0]
  140. else:
  141. checkStr = checkStr + " " + str(word)
  142. else:
  143. checkStr = m.lemmatize(rules[0])[0] + " 1"
  144.  
  145. cur.execute("SELECT Word FROM mydb.Dictionary Where Word =" + "'" + checkStr + "'" ";")
  146.  
  147. numrows = int(cur.rowcount) # kolvo sstrok
  148. # проверка на выборку по данному слову что она пуста
  149. if (numrows == 0):
  150. cur.execute( "insert into mydb.Dictionary (Word,Weight,Emotion,Resoursename_id) Values (" + "'"+checkStr+"'" + ",1,true,2);")
  151.  
  152. # Init
  153.  
  154.  
  155. def addNewGoodemotian(word,resoursename):
  156. rules = word.split(":")
  157.  
  158. cur = conn.cursor()
  159. id_resourse = 0
  160.  
  161. cur.execute("SELECT * FROM mydb.ResourseName where CompanyName = " + "'" + resoursename + "'" + ";")
  162. numrows = int(cur.rowcount)
  163. result = cur.fetchall()
  164. if (numrows > 0):
  165. for line in result:
  166. id_resourse = line[1]
  167. else:
  168. return
  169.  
  170.  
  171.  
  172.  
  173.  
  174. j = rules.__len__()
  175. if j >= 2:
  176. checkStr = m.lemmatize(rules[0])[0] + " :"
  177. splRules = (rules[1]).split(" ")
  178. for word2 in splRules:
  179. if word2.isalpha():
  180. checkStr = checkStr + m.lemmatize(str(word2))[0]
  181. else:
  182. checkStr = checkStr + " " + str(word2)
  183. else:
  184. checkStr = m.lemmatize(rules[0])[0] + " 1"
  185. cur.execute("SELECT Word FROM mydb.Dictionary Where Word =" + "'" + checkStr + "'" ";")
  186.  
  187. numrows = int(cur.rowcount) # kolvo sstrok
  188. # проверка на выборку по данному слову что она пуста
  189. if (numrows == 0):
  190. cur.execute( "insert into mydb.Dictionary (Word,Weight,Emotion,Resoursename_id) Values (" + "'"+checkStr+"'" + ",1,true, + " + "'"+ id_resourse.__str__() +"'" + ");")
  191.  
  192.  
  193. def addNewBademotian(word,resoursename):
  194. cur = conn.cursor()
  195. id_resourse = 0
  196.  
  197. cur.execute("SELECT * FROM mydb.ResourseName where CompanyName = " + "'" + resoursename + "'" + ";")
  198. numrows = int(cur.rowcount)
  199. result = cur.fetchall()
  200. if (numrows > 0):
  201. for line in result:
  202. id_resourse = line[1]
  203. else:
  204. return
  205.  
  206.  
  207. rules = word.split(":")
  208.  
  209. j = rules.__len__()
  210. if j >= 2:
  211. checkStr = m.lemmatize(rules[0])[0] + " :"
  212. splRules = (rules[1]).split(" ")
  213. for word2 in splRules:
  214. if word2.isalpha():
  215. checkStr = checkStr + m.lemmatize(str(word2))[0]
  216. else:
  217. checkStr = checkStr + " " + str(word2)
  218. else:
  219. checkStr = m.lemmatize(rules[0])[0] + " 1"
  220. cur = conn.cursor()
  221.  
  222. cur.execute("SELECT Word FROM mydb.Dictionary Where Word =" + "'" + checkStr + "'" ";")
  223.  
  224. numrows = int(cur.rowcount) # kolvo sstrok
  225. # проверка на выборку по данному слову что она пуста
  226. if (numrows == 0):
  227. cur.execute(
  228. "insert into mydb.Dictionary (Word,Weight,Emotion,Resoursename_id) Values "
  229. "(" + "'" + checkStr + "'" + ",1,false, + " + "'" + id_resourse.__str__() + "'" + ");")
  230.  
  231. def getTypeAction(tweetWord, Resoursename):
  232.  
  233. word = ""
  234.  
  235. if (tweetWord):
  236.  
  237. word = m.lemmatize(tweetWord)[0]
  238. cur = conn.cursor()
  239. cur.execute("SELECT * FROM mydb.ResourseName where CompanyName = " + "'" + Resoursename + "'" + ";")
  240. numrows = int(cur.rowcount)
  241. result = cur.fetchall()
  242. if (numrows > 0):
  243. for line in result:
  244. id_resourse = line[1]
  245. else:
  246. print("resourse, not found")
  247. return
  248.  
  249. checkstr = id_resourse.__str__()
  250.  
  251. cur.execute("SELECT Word FROM mydb.Dictionary where emotion = 0 and Resoursename_id = " + "'" + checkstr + "'" + ";")
  252.  
  253. result = cur.fetchall()
  254.  
  255. for line in result:
  256. list = line[0].split(" ")
  257. if ((list)[0] == word):
  258. if ((list)[1] == ":"):
  259. j = list.__len__()
  260. i = 2
  261. str = ""
  262. while i <= j - 2:
  263. str = str + list[i] + " "
  264. i = i + 1
  265. str = str + list[i]
  266. return [4,str] #правило негатив
  267. return [3,list[1]]
  268.  
  269. cur = conn.cursor()
  270.  
  271.  
  272. cur.execute("SELECT Word FROM mydb.Dictionary where emotion = 1 and Resoursename_id = " + "'" + checkstr + "'" + ";")
  273.  
  274. result = cur.fetchall()
  275.  
  276. for line in result:
  277. list = line[0].split(" ")
  278. if ((list)[0] == word):
  279. if ((list)[1] == ":"):
  280. j = list.__len__()
  281. i = 2
  282. str = ""
  283. while i <= j - 2:
  284. str = str + list[i] + " "
  285. i = i + 1
  286. str = str + list[i]
  287. return [2, str] #правило позитив
  288. return [1,list[1]]
  289.  
  290. return [5, 0]
  291.  
  292.  
  293.  
  294.  
  295.  
  296. def treatmentText(text2):
  297.  
  298. mytext = text2
  299.  
  300. mytext = mytext.replace(" ", " ")
  301. mytext = mytext.replace(",", "")
  302. mytext = mytext.replace('.', '')
  303. mytext = mytext.replace("!","")
  304. mytext = mytext.replace("?","")
  305. mytext = mytext.replace('"', "")
  306. mytext = mytext.replace("'", "")
  307. mytext = mytext.replace(":", "")
  308. mytext = mytext.replace(";", "")
  309. mytext = mytext.replace("»", "")
  310. mytext = mytext.replace("«", "")
  311. mytext = mytext.replace("#", "")
  312.  
  313.  
  314. return mytext.lower()
  315.  
  316.  
  317. def delToken(split_str: object) -> object:
  318.  
  319. extend = ["в", "с", "по","на"]
  320. i = 0
  321. tokenMass = list (split_str)
  322.  
  323. deldate = False
  324.  
  325. for element in split_str:
  326. for bad in extend:
  327.  
  328. if element == bad:
  329. del tokenMass[i]
  330. deldate = True
  331.  
  332. if not(deldate):
  333. i = i + 1
  334. deldate = False
  335.  
  336. return(tokenMass)
  337.  
  338.  
  339.  
  340. def plotAllgraph(StartDate,EndDate,Resoursename):
  341. #Date in str "%Y,%m,%d"
  342.  
  343.  
  344. str = StartDate.split(",")
  345. if not (str.__len__() == 3):
  346. print("icorrect date")
  347. return
  348. try:
  349. start = datetime.datetime(int(str[0]), int(str[1]), int(str[2]))
  350. except:
  351. print(print("icorrect date"))
  352. return
  353. t1 = start
  354. str = EndDate.split(",")
  355. if not (str.__len__() == 3):
  356. print("icorrect date")
  357. return
  358.  
  359. try:
  360. last = datetime.datetime(int(str[0]), int(str[1]), int(str[2]))
  361. except:
  362. print(print("icorrect date"))
  363. return
  364. t = start
  365.  
  366. cur = conn.cursor()
  367. cur.execute("SELECT * FROM mydb.ResourseName where CompanyName = " + "'" + Resoursename + "'" + ";")
  368. numrows = int(cur.rowcount)
  369. result = cur.fetchall()
  370. if (numrows > 0):
  371. for line in result:
  372. id_resourse = line[1]
  373. else:
  374. return
  375. x1 = []
  376. x2 = []
  377. y1 = []
  378. y2 = []
  379. while (t < last):
  380.  
  381. t = t1
  382. try:
  383. t1 = t.replace(t.year, t.month, t.day + 1)
  384. except:
  385. try:
  386. t1 = t.replace(t.year, t.month + 1, 1)
  387. except:
  388. try:
  389. t1 = t.replace(t.year + 1, 1, 1)
  390. except:
  391. print("incorrext date")
  392. return
  393.  
  394. #data id + resourse id
  395. cur = conn.cursor()
  396.  
  397. cur.execute("SELECT * FROM mydb.Date where Datecol = " + "'" + t.strftime("%Y-%m-%d") + "'" " ;")
  398. numrows = int(cur.rowcount)
  399. result = cur.fetchall()
  400. if (numrows > 0):
  401. for line in result:
  402. id_Date = line[0] # значит есть такая дата для ресурса или сообщения
  403.  
  404. cur2 = conn.cursor() # for Date
  405. cur2.execute("SELECT * FROM mydb.ListResourse where ResourseName_id ="+ "'"+
  406. id_resourse.__str__()+ "'" + "and Date_idDate ="+ "'"+ id_Date.__str__()+ "'" + ";")
  407.  
  408. result = cur2.fetchall()
  409. numrows = int(cur2.rowcount)
  410. if (numrows > 0):
  411. for line in result:
  412. PrintDate = line[1]
  413. cur.execute("SELECT * FROM mydb.Resourse where idResourse = "+ "'"+ PrintDate.__str__() + "'" +";")
  414. result1 = cur.fetchall()
  415. numrows = int(cur.rowcount)
  416. if (numrows > 0):
  417. for line in result1:
  418. PrintDate = float(line[3]) # график этих значений и даты
  419. x1.append(t)
  420. y1.append(PrintDate)
  421.  
  422.  
  423.  
  424. cur = conn.cursor() # for message
  425. cur.execute("SELECT * FROM mydb.Messages where Resourse_name ="+ "'"+
  426. id_resourse.__str__()+ "'" + "and Date_idDate ="+ "'"+ id_Date.__str__()+ "'" + ";")
  427. result = cur.fetchall()
  428. numrows = int(cur.rowcount)
  429. Emotion = 0;
  430. i = 0;
  431. if (numrows > 0):
  432. for line in result:
  433. if not((float(line[3])) == 0):
  434. Emotion = Emotion + (float(line[3]))
  435. i = i + 1
  436. if (i > 0):
  437. PrintNumb = Emotion/i #график этих значений и даты / как лучше делать динам массивы или что?
  438. x2.append(t)
  439. y2.append(PrintNumb)
  440.  
  441.  
  442. xdata_float = matplotlib.dates.date2num(x1)
  443. axes = pylab.subplot(1, 1, 1)
  444.  
  445. # Пусть в качестве меток по оси X выводится только месяцы и дни
  446.  
  447.  
  448. # Отобразим данные
  449. pylab.plt.figure(1)
  450. pylab.plt.subplot(211)
  451. pylab.plt.plot(x1, y1)
  452. pylab.plt.grid(True)
  453.  
  454. pylab.plt.subplot(212)
  455. pylab.plt.plot(x2, y2, 'r--')
  456. pylab.plt.grid(True)
  457. pylab.plt.show()
  458.  
  459.  
  460.  
  461.  
  462. plotAllgraph ("2017,4, 15","2017, 5, 24","Яндекс")
  463.  
  464. from urllib.request import urlopen # Импортировали библиотеку для работы с адресами и запросами Internet.
  465. from pandas import DataFrame, read_csv
  466. from pandas import set_option
  467. import datetime
  468. import textAnalysis
  469. import csv
  470. import codecs
  471. import matplotlib
  472.  
  473. def DowResourse(StartDate,EndDate,ResourseName):
  474. str = StartDate.split(",")
  475. if not (str.__len__() == 3):
  476. print("icorrect date")
  477. return
  478. try:
  479. start = datetime.datetime(int(str[0]), int(str[1]), int(str[2]))
  480. except:
  481. print(print("icorrect date"))
  482. return
  483.  
  484. str = EndDate.split(",")
  485. if not (str.__len__() == 3):
  486. print("icorrect date")
  487. return
  488.  
  489. try:
  490. last = datetime.datetime(int(str[0]), int(str[1]), int(str[2]))
  491. except:
  492. print(print("icorrect date"))
  493. return
  494.  
  495.  
  496. cur = textAnalysis.conn.cursor()
  497. id_resourse = 0
  498.  
  499. cur.execute("SELECT * FROM mydb.ResourseName where CompanyName = " + "'" + ResourseName + "'" + ";")
  500. numrows = int(cur.rowcount)
  501. result = cur.fetchall()
  502. if (numrows > 0):
  503. for line in result:
  504. id_resourse = line[1]
  505. else:
  506. return
  507.  
  508. #resourse checked
  509.  
  510. Begin = start.strftime("%d.%m.%Y")
  511. End = last.strftime("%d.%m.%Y")
  512.  
  513. Beginstr = Begin.split(".")
  514. Endstr = End.split(".")
  515.  
  516. if (id_resourse == 1):
  517. url = "http://export.finam.ru/YNDX_170502_170512.csv?market=1&em=388383&code=YNDX&apply=0&df=" + Beginstr[0] + "&mf=" + (int(Beginstr[1]) - 1).__str__() + "&yf=" + Beginstr[2] + "&from="+ Begin + "&dt=" + Endstr[0] + "&mt=" + (int(Endstr[1]) - 1).__str__() + "&yt=" + Endstr[2] +"&to=" + End + "&p=8&f=YNDX_170502_170512&e=.csv&cn=YNDX&dtf=1&tmf=2&MSOR=1&mstime=on&mstimever=1&sep=1&sep2=1&datf=5&at=1"
  518. elif (id_resourse == 2):
  519. url = "http://export.finam.ru/CNY000000TOD_170502_170530.csv?market=45&em=182402&code=CNY000000TOD&apply=0&df=" + Beginstr[0] + "&mf=" + (int(Beginstr[1]) - 1).__str__() + "&yf=" + Beginstr[2] + "&from="+ Begin + "&dt=" + Endstr[0] + "&mt=" + (int(Endstr[1]) - 1).__str__() + "&yt=" + Endstr[2] +"&to=" + End + "&p=7&f=CNY000000TOD_170502_170530&e=.csv&cn=CNY000000TOD&dtf=1&tmf=2&MSOR=1&mstime=on&mstimever=1&sep=1&sep2=1&datf=5&at=1"
  520. elif (id_resourse == 3):
  521. url = "http://export.finam.ru/EUR_RUB__TOD_170502_170530.csv?market=45&em=182441&code=EUR_RUB__TOD&apply=0&df=" + Beginstr[0] + "&mf=" + (int(Beginstr[1]) - 1).__str__() + "&yf=" + Beginstr[2] + "&from="+ Begin + "&dt=" + Endstr[0] + "&mt=" + (int(Endstr[1]) - 1).__str__() + "&yt=" + Endstr[2] +"&to=" + End + "&p=8&f=EUR_RUB__TOD_170502_170530&e=.csv&cn=EUR_RUB__TOD&dtf=1&tmf=2&MSOR=1&mstime=on&mstimever=1&sep=1&sep2=1&datf=5&at=1"
  522.  
  523. ftpstream = urlopen(url)
  524. csvfile = csv.reader(codecs.iterdecode(ftpstream, 'utf-8'))
  525.  
  526.  
  527.  
  528.  
  529.  
  530. next(csvfile, None)
  531.  
  532.  
  533.  
  534. for line in csvfile: ## запись файла в бд
  535.  
  536. print(Convert(line[0]),float((line[5])))
  537.  
  538. cur = textAnalysis.conn.cursor()
  539.  
  540. cur.execute("SELECT * FROM mydb.Date where Datecol = " + "'" + Convert(line[0])+ "'" " ;")
  541. numrows = int(cur.rowcount)
  542. result = cur.fetchall()
  543. if (numrows > 0):
  544. for line1 in result:
  545. id_Date = line1[0]
  546. else:
  547. cur.execute("insert into mydb.Date (Datecol) Values (" + "'" + Convert(line[0])+ "'" + ");")
  548. cur = textAnalysis.conn.cursor()
  549. cur.execute("SELECT * FROM mydb.Date where Datecol = " + "'" + Convert(line[0]) + "'"+" ;")
  550. result = cur.fetchall()
  551. if (numrows > 0):
  552. for line1 in result:
  553. id_Date = line1[0]
  554.  
  555. #Добавить данные в бд
  556.  
  557. #Проверить наличие подобного столбца, добавить в лист данные
  558. cur.execute("select *from mydb.ListResourse where ResourseName_id =" + "'" +id_resourse.__str__() + "'" +
  559. "and Date_idDate ="+ "'" +id_Date.__str__() + "'" + ";")
  560. numrows = int(cur.rowcount)
  561. if (numrows == 0):
  562.  
  563. cur.execute("SELECT * FROM mydb.Resourse where cmp_float(high," + "'" + (float(line[3])).__str__() + "'" +
  564. ") and cmp_float(low," + "'" + (float(line[4])).__str__() + "'" + ") and cmp_float(Close_value," + "'" +
  565. (float(line[5])).__str__() + "'" + ") and cmp_float(Open_value," + "'" + (float(line[2])).__str__() + "'" + ");")
  566.  
  567. numrows2 = int(cur.rowcount)
  568. result = cur.fetchall()
  569. Id_list = 0
  570. if (numrows2 > 0):
  571. for line in result:
  572. Id_list = line[0]
  573. else:
  574. cur.execute("insert into mydb.Resourse(high, low, Close_value, Open_value) values"
  575. "(" + "'" + (float(line[3])).__str__() + "'" + "," + "'" + (float(line[4])).__str__()
  576. + "'" + "," + "'" + float((line[5])).__str__() + "'" + "," + "'" + float((line[2])).__str__() + "'" + ")")
  577. cur = textAnalysis.conn.cursor()
  578.  
  579. cur.execute(
  580. "SELECT * FROM mydb.Resourse where cmp_float(high," + "'" + (float(line[3])).__str__() + "'" +
  581. ") and cmp_float(low," + "'" + (
  582. float(line[4])).__str__() + "'" + ") and cmp_float(Close_value," + "'" +
  583. (float(line[5])).__str__() + "'" + ") and cmp_float(Open_value," + "'" + (
  584. float(line[2])).__str__() + "'" + ");")
  585.  
  586. numrows3 = int(cur.rowcount)
  587. result = cur.fetchall()
  588.  
  589. if (numrows3 > 0):
  590. for line in result:
  591. Id_list = line[0]
  592. cur.execute("insert into mydb.ListResourse(Resourse_idResourse,ResourseName_id,Date_idDate) values (" + "'" + Id_list.__str__() + "'" + "," + "'" + id_resourse.__str__() + "'" + "," + "'" + id_Date.__str__() + "'" + ")")
  593.  
  594.  
  595. def Convert(str):
  596. j = str.__len__()
  597. i = 0
  598. newstr = ""
  599. while (i < j):
  600. if (i == 3 or i == 5):
  601. newstr = newstr + str[i] + "-"
  602. else:
  603. newstr = newstr + str[i]
  604. i = i + 1
  605. return newstr
  606.  
  607. DowResourse("2017,4, 15","2017, 5, 24","Яндекс")
  608. # нет проверки на поиск вне текущей даты Всё все данные добавленны в Бд
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement