from decimal import Decimal q = Decimal('0.00') a = 1.00 b = 0.75 c = 0.00 x = [a,b,c] print (Decimal(min(x)).quantize(q))
from decimal import Decimal q = Decimal('0.00') a = 1.00 b = 0.75 c = 0.00 x = [a,b,c] print (Decimal(min(x)).quantize(q))
vic57
#…
for bl in block:
ikao = bl.find('station_id').text
clouds = bl.findall('sky_condition')
out =
for i in clouds:
out.append(i.get('sky_cover'))
print ikao,' '.join(out)
d = {'OVC':1.00,'BKN': 0.75,'SCT':0.40,'FEW':0.15,'SKC':0.00,'CLR':0} for bl in block: ikao = bl.find('station_id').text clouds = bl.findall('sky_condition') out = [] for i in clouds: key = i.get('sky_cover') out.append(d[key]) if out: print ikao,out,max(out) else: print ikao
ODIN 11 12 13
DVA 21 22 23
TRI 31 32 33
NULL 01 02 03
DVA 444 555
CHE 344 324
TRI 777 888
SEM 987 435
ODIN 999 000
# odin_txt = {'ODIN': [11, 12, 13], ...} dva_txt = {...}
import pandas as pd data1 = pd.read_table('one.txt', header=None, sep='\s+', na_values='NA', keep_default_na=False) data2 = pd.read_table('two.txt', header=None, sep='\s+', na_values='NA', keep_default_na=False) result = [] for ind, item in data1.iterrows(): res = data2.ix[data2[0]==item[0], :] if not res.empty: ss = pd.concat([data1.iloc[ind, :], res.iloc[0,1:]]) else: ss = data1.iloc[ind,:] result.append(ss.tolist()) print(result) # save results to a new file
def fn(d,l,flag=True): for i in l: tmp = i.strip().split(' ') key = tmp[0] if not key in d: if not flag: continue else: d[key] = [] for i in tmp[1:]: d[key].append(i) return d f1 = open('1.txt').readlines() f2 = open('2.txt').readlines() d = fn({},f1,True) d = fn(d,f2,False) for i in d:print i,d[i]
#!/usr/bin/env python # coding:utf8 from lxml import etree import urllib url = 'https://aviationweather.gov/adds/dataserver_current/current/metars.cache.xml' urllib.urlretrieve(url, filename='metar.xml') tree = etree.parse('metar.xml') # Парсинг файла block = tree.xpath('/response/data/METAR') qwerty = ['ULLI', 'UBBL', 'LRCT'] for a in qwerty: for b in block: ikao = b.find('station_id').text if ikao != a: continue clouds = b.findall('sky_condition') time = b.find('observation_time').text tim = time.split(r'T') ti = tim[1].split(r':') t = ti[0]+':'+ti[1] out = [] for i in clouds: out.append(i.get('sky_cover')) print ikao,str(t) ,' '.join(out) break
#!/usr/bin/env python # coding:utf8 from lxml import etree import urllib import time tp1 = time.time() url = 'https://aviationweather.gov/adds/dataserver_current/current/metars.cache.xml' urllib.urlretrieve(url, filename='metar.xml') tp2 = time.time() tree = etree.parse('metar.xml') # Парсинг файла block = tree.xpath('/response/data/METAR') qwerty = ['ULLI', 'UBBL', 'LRCT'] for b in block: ikao = b.find('station_id').text if not ikao in qwerty: continue clouds = b.findall('sky_condition') time0 = b.find('observation_time').text tim = time0.split(r'T') ti = tim[1].split(r':') t = ti[0]+':'+ti[1] out = [] for i in clouds: out.append(i.get('sky_cover')) print ikao,str(t) ,' '.join(out) tp3 = time.time() print 'execution time',tp2 - tp1,tp3 - tp2
ULLI 05:00 OVC UBBL 05:00 OVC LRCT 05:00 BKN execution time 19.0136210918 0.384562015533
и как ты алгоритмы придумываешь?