Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 12.10.2019
Сообщений: 14
1

Матрица валют или коэффициентов

12.10.2019, 14:02. Показов 1339. Ответов 5

https://www.cbr-xml-daily.ru/daily_json.js
Как из этого открытого источника получить курс о всех валютах в матрицу?
Есть вот такие наброски, но это всего две переменные, а как представить сразу все в матрицу?Спасибо.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import aiohttp
from aiohttp import web, WSCloseCode
import asyncio
import json
import requests
import argparse
 
 
 
positive = ['1', 'true', 'True', 'y', 'Y']
 
parser = argparse.ArgumentParser(description='Api_wallet')
parser.add_argument('--rub', default=0, type=float,
                    help='Value is rubles, defaul = 0')
parser.add_argument('--eur', default=0, type=float,
                    help='Value is eur, defaul = 0')
parser.add_argument('--usd', default=0, type=float,
                    help='Value is usd, defaul = 0')
parser.add_argument('--period', default=5, type=int,
                    help='Value is period, defaul = 5 sec')
parser.add_argument('--debug', default='1', type=str,
                    help='Value is debug, defaul = positive')
 
args = parser.parse_args()
 
 
async def api_wallet():   
    
        r = requests.get('https://www.cbr-xml-daily.ru/daily_json.js')
        data = r.json
        data = json.loads(r.content)
        usd_r = data['Valute']['USD']['Value']
        eur_r = data['Valute']['EUR']['Value']
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.10.2019, 14:02
Ответы с готовыми решениями:

Матрица валют или коэфициентов
import aiohttp from aiohttp import web, WSCloseCode import asyncio import json import requests...

Многочлен Pn (x) задан массивом собственных коэффициентов A (n + 1). Найти массив коэффициентов производной этого многочлена
Многочлен Pn (x) задан массивом собственных коэффициентов A (n + 1). Найти массив коэффициентов...

Какой тип использовать для денежных коэффициентов (например процент скидки)? Decimal или Double?
Добрый день, возник вопрос, какой тип данных следует использовать для коэффициентов, связанных с...

Матрица n*m: упорядочить по возрастанию или по убыванию строки или столбцы матрицы
Помогите плиз! матрица n*m: упорядочить по возрастанию или по убыванию строки или столбцы матрицы...

__________________

Записывайтесь на профессиональные курсы Fullstack-разработчиков на Python
5
Автоматизируй это!
Эксперт Python
4202 / 2885 / 855
Регистрация: 30.03.2015
Сообщений: 9,323
Записей в блоге: 15
12.10.2019, 14:09 2
byNFH, смотря что имеем в виду под матрицей и в каком виде собираемся там хранить данные. То есть почему не список? Зачем асинхронка -предполагается конкуррентное выпполнение? Тогда почему внутри корутины юзаешь реквестс, а не аиохттп, реквестс же блокирующий, проще тогда потоками делать.

Я бы парсил жсон в объект Валюты и их уже закидывал куда надо.
1
2050 / 1151 / 366
Регистрация: 02.09.2015
Сообщений: 3,087
12.10.2019, 18:20 3
Python
1
2
3
4
5
6
7
8
9
import json
import requests
import tabulate
 
json = json.loads(requests.get("https://www.cbr-xml-daily.ru/daily_json.js").text)
valutes = json["Valute"]
 
table = [[valuteX] + [valutes[valuteX]["Value"] / valutes[valuteY]["Value"] for valuteY in valutes] for valuteX in valutes]
print(tabulate.tabulate(table, headers=["\\"] + list(valutes.keys())))
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
\         AUD       AZN       GBP       AMD       BYN       BGN       BRL       HUF       HKD       DKK       USD       EUR       INR       KZT       CAD       KGS       CNY       MDL       NOK       PLN       RON       XDR       SGD       TJS      TRY       TMT       UZS       UAH       CZK       SEK       CHF       ZAR       KRW       JPY
---  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  --------  -------  --------  --------  --------  --------  --------  --------  --------  --------  --------
AUD  1         1.15226   0.545498  3.23978   1.39188   1.20687   2.79158   2.04639   0.532574  0.460871  0.679199  0.616725  0.482368  2.64633   0.901502  0.47544   0.482299  1.18894   0.618506  2.65588   2.9374    0.496556  0.933492  0.658145  3.9621   2.3738    0.641164  1.66525   1.59408   0.667171  0.677637  1.01428   0.80587   0.733229
AZN  0.867859  1         0.473415  2.81167   1.20796   1.04739   2.4227    1.77598   0.462199  0.399971  0.589449  0.53523   0.418627  2.29664   0.782376  0.412615  0.418568  1.03183   0.536776  2.30493   2.54925   0.43094   0.810139  0.571176  3.43854  2.06012   0.55644   1.4452    1.38344   0.57901   0.588093  0.880249  0.699381  0.636339
GBP  1.83319   2.11231   1         5.93912   2.55159   2.21242   5.11749   3.75142   0.976308  0.844863  1.2451    1.13057   0.88427   4.85121   1.65262   0.87157   0.884145  2.17955   1.13384   4.86872   5.38481   0.91028   1.71127   1.2065    7.26326  4.35162   1.17537   3.05271   2.92225   1.22305   1.24223   1.85936   1.47731   1.34415
AMD  0.308663  0.355661  0.168375  1         0.429624  0.372516  0.861658  0.631646  0.164386  0.142254  0.209644  0.19036   0.148889  0.816823  0.27826   0.146751  0.148868  0.366981  0.19091   0.819772  0.906667  0.153268  0.288135  0.203145  1.22295  0.732704  0.197904  0.514001  0.492033  0.205931  0.209161  0.31307   0.248742  0.226321
BYN  0.71845   0.827842  0.391913  2.32762   1         0.867075  2.00561   1.47023   0.382628  0.331113  0.487971  0.443086  0.346557  1.90125   0.647684  0.34158   0.346508  0.854193  0.444366  1.90812   2.11038   0.356751  0.670668  0.472844  2.84657  1.70546   0.460644  1.1964    1.14527   0.479329  0.486848  0.728707  0.578978  0.526789
BGN  0.828591  0.954753  0.451995  2.68445   1.1533    1         2.31308   1.69562   0.441286  0.381873  0.562778  0.511012  0.399685  2.19272   0.746976  0.393945  0.399629  0.985143  0.512488  2.20064   2.4339    0.411442  0.773483  0.545332  3.28296  1.96691   0.531262  1.37981   1.32084   0.552811  0.561483  0.84042   0.667736  0.607547
BRL  0.35822   0.412763  0.195408  1.16055   0.498601  0.432324  1         0.733058  0.190779  0.165093  0.243303  0.220923  0.172794  0.947966  0.322936  0.170312  0.172769  0.425901  0.221561  0.951389  1.05224   0.177876  0.334395  0.23576   1.4193   0.850342  0.229678  0.596525  0.571031  0.238994  0.242743  0.363334  0.288679  0.262657
HUF  0.488665  0.56307   0.266566  1.58317   0.680165  0.589754  1.36415   1         0.26025   0.225211  0.331901  0.301372  0.235716  1.29317   0.440532  0.232331  0.235683  0.580992  0.302242  1.29783   1.4354    0.242649  0.456165  0.321612  1.93614  1.15999   0.313314  0.813749  0.77897   0.326023  0.331137  0.495641  0.3938    0.358303
HKD  1.87767   2.16357   1.02427   6.08324   2.6135    2.2661    5.24168   3.84246   1         0.865365  1.27531   1.15801   0.905729  4.96893   1.69273   0.89272   0.9056    2.23244   1.16135   4.98687   5.51548   0.93237   1.75279   1.23578   7.43952  4.45722   1.2039    3.12679   2.99316   1.25273   1.27238   1.90448   1.51316   1.37676
DKK  2.1698    2.50018   1.18362   7.02969   3.02012   2.61867   6.05719   4.44027   1.15558   1         1.47373   1.33817   1.04664   5.74201   1.95608   1.03161   1.0465    2.57976   1.34204   5.76274   6.37359   1.07743   2.0255    1.42805   8.59698  5.15068   1.3912    3.61327   3.45884   1.44763   1.47034   2.20078   1.74858   1.59096
USD  1.47232   1.6965    0.803149  4.77      2.0493    1.7769    4.11011   3.01295   0.78412   0.67855   1         0.908017  0.7102    3.89624   1.3273    0.7       0.7101    1.7505    0.91064   3.91031   4.3248    0.73109   1.3744    0.969     5.83348  3.495     0.944     2.45178   2.347     0.98229   0.997699  1.49334   1.1865    1.07955
EUR  1.62147   1.86836   0.884508  5.2532    2.2569    1.9569    4.52646   3.31816   0.863552  0.747288  1.1013    1         0.782144  4.29093   1.46176   0.770911  0.782033  1.92783   1.00289   4.30643   4.7629    0.80515   1.51363   1.06716   6.42442  3.84904   1.03963   2.70015   2.58475   1.0818    1.09877   1.64462   1.30669   1.18891
INR  2.07311   2.38876   1.13088   6.71641   2.88553   2.50197   5.78725   4.24239   1.10408   0.955435  1.40805   1.27854   1         5.48612   1.86891   0.985638  0.999858  2.4648    1.28223   5.50592   6.08955   1.02941   1.93523   1.3644    8.21385  4.92114   1.3292    3.45224   3.3047    1.38312   1.40481   2.1027    1.67066   1.52006
KZT  0.377883  0.435419  0.206134  1.22426   0.525969  0.456055  1.05489   0.773296  0.20125   0.174155  0.256658  0.23305   0.182278  1         0.340662  0.17966   0.182253  0.449279  0.233723  1.00361   1.10999   0.18764   0.35275   0.248701  1.49721  0.897017  0.242285  0.629269  0.602375  0.252112  0.256067  0.383277  0.304524  0.277075
CAD  1.10926   1.27816   0.605099  3.59376   1.54396   1.33873   3.09659   2.26998   0.590763  0.511226  0.753409  0.684108  0.535071  2.93546   1         0.527386  0.534995  1.31884   0.686084  2.94606   3.25834   0.55081   1.03549   0.730053  4.395    2.63316   0.711218  1.84719   1.76825   0.740066  0.751675  1.1251    0.893919  0.813342
KGS  2.10332   2.42357   1.14735   6.81428   2.92757   2.53843   5.87158   4.30421   1.12017   0.969357  1.42857   1.29717   1.01457   5.56606   1.89614   1         1.01443   2.50071   1.30091   5.58615   6.17828   1.04441   1.96343   1.38429   8.33354  4.99285   1.34857   3.50254   3.35285   1.40327   1.42528   2.13334   1.695     1.54221
CNY  2.0734    2.3891    1.13104   6.71736   2.88594   2.50232   5.78807   4.24299   1.10424   0.95557   1.40825   1.27872   1.00014   5.48689   1.86917   0.985777  1         2.46514   1.28241   5.5067    6.09041   1.02956   1.9355    1.3646    8.21501  4.92184   1.32939   3.45273   3.30517   1.38331   1.40501   2.103     1.67089   1.52028
MDL  0.841087  0.969152  0.458811  2.72494   1.1707    1.01508   2.34796   1.72119   0.447941  0.387633  0.571266  0.518719  0.405713  2.22579   0.758241  0.399886  0.405656  1         0.520217  2.23383   2.47061   0.417647  0.785148  0.553557  3.33247  1.99657   0.539275  1.40062   1.34076   0.561149  0.569951  0.853095  0.677807  0.61671
NOK  1.6168    1.86298   0.881961  5.23807   2.2504    1.95126   4.51343   3.30861   0.861065  0.745136  1.09813   0.99712   0.779891  4.27858   1.45755   0.768691  0.779781  1.92227   1         4.29402   4.74919   0.802831  1.50927   1.06409   6.40591  3.83796   1.03663   2.69237   2.57731   1.07868   1.0956    1.63988   1.30293   1.18548
PLN  0.376523  0.433853  0.205393  1.21985   0.524077  0.454414  1.05109   0.770514  0.200526  0.173529  0.255734  0.232211  0.181623  0.996402  0.339436  0.179014  0.181597  0.447663  0.232882  1         1.106     0.186965  0.351481  0.247807  1.49182  0.89379   0.241413  0.627005  0.600208  0.251205  0.255146  0.381899  0.303429  0.276078
RON  0.340437  0.392272  0.185708  1.10294   0.473849  0.410863  0.950358  0.696668  0.181308  0.156898  0.231225  0.209956  0.164216  0.900907  0.306905  0.161857  0.164193  0.404758  0.210562  0.90416   1         0.169046  0.317795  0.224057  1.34884  0.808129  0.218276  0.566912  0.542684  0.22713   0.230693  0.345297  0.274348  0.249618
XDR  2.01387   2.32051   1.09856   6.5245    2.80308   2.43048   5.62189   4.12117   1.07254   0.928135  1.36782   1.242     0.971427  5.32936   1.81551   0.957475  0.971289  2.39437   1.24559   5.3486    5.91555   1         1.87993   1.32542   7.97915  4.78053   1.29122   3.3536    3.21027   1.3436    1.36467   2.04262   1.62292   1.47663
SGD  1.07125   1.23436   0.584363  3.4706    1.49105   1.29285   2.99047   2.19219   0.570518  0.493706  0.72759   0.660664  0.516734  2.83487   0.96573   0.509313  0.516661  1.27364   0.662572  2.8451    3.14668   0.531934  1         0.705035  4.24438  2.54292   0.686844  1.78389   1.70765   0.714704  0.725916  1.08654   0.863285  0.785469
TJS  1.51942   1.75077   0.828842  4.92259   2.11486   1.83374   4.24159   3.10934   0.809205  0.700258  1.03199   0.937066  0.732921  4.02089   1.36976   0.722394  0.732817  1.8065    0.939772  4.03541   4.46316   0.754479  1.41837   1         6.0201   3.60681   0.9742    2.53022   2.42208   1.01371   1.02962   1.54112   1.22446   1.11409
TRY  0.252392  0.290821  0.137679  0.817693  0.3513    0.304604  0.704572  0.516492  0.134417  0.11632   0.171424  0.155656  0.121746  0.66791   0.227532  0.119997  0.121728  0.300078  0.156106  0.670322  0.741375  0.125327  0.235606  0.16611   1        0.599127  0.161824  0.420295  0.402332  0.168388  0.17103   0.255995  0.203395  0.185061
TMT  0.421266  0.485408  0.2298    1.36481   0.586353  0.508412  1.176     0.862075  0.224355  0.194149  0.286123  0.259805  0.203205  1.11481   0.379772  0.200286  0.203176  0.500859  0.260555  1.11883   1.23743   0.209182  0.393248  0.277254  1.66909  1         0.2701    0.701512  0.671531  0.281056  0.285465  0.42728   0.339485  0.308884
UZS  1.55966   1.79714   0.850793  5.05296   2.17087   1.88231   4.35393   3.19168   0.830636  0.718803  1.05932   0.961883  0.752331  4.12738   1.40604   0.741526  0.752225  1.85434   0.964661  4.14228   4.58136   0.77446   1.45593   1.02648   6.17954  3.70233   1         2.59723   2.48623   1.04056   1.05689   1.58193   1.25689   1.14359
UAH  0.600511  0.691945  0.327577  1.94552   0.835842  0.724738  1.67637   1.22888   0.319817  0.276758  0.407867  0.37035   0.289667  1.58915   0.541362  0.285507  0.289626  0.71397   0.37142   1.59488   1.76394   0.298187  0.560572  0.395223  2.37928  1.42549   0.385026  1         0.957262  0.400643  0.406928  0.609084  0.483934  0.440312
CZK  0.627321  0.722838  0.342203  2.03238   0.873159  0.757095  1.75122   1.28375   0.334095  0.289114  0.426076  0.386885  0.3026    1.6601    0.565531  0.298254  0.302557  0.745846  0.388002  1.66609   1.84269   0.3115    0.5856    0.412868  2.48551  1.48914   0.402216  1.04465   1         0.418531  0.425096  0.636278  0.50554   0.459971
SEK  1.49887   1.72709   0.817629  4.85599   2.08625   1.80893   4.18421   3.06727   0.798258  0.690784  1.01803   0.924388  0.723005  3.96649   1.35123   0.712621  0.722902  1.78206   0.927058  3.98081   4.40277   0.744271  1.39918   0.986471  5.93865  3.55801   0.961019  2.49599   2.38931   1         1.01569   1.52027   1.20789   1.09901
CHF  1.47572   1.70041   0.805001  4.781     2.05403   1.781     4.11958   3.0199    0.785929  0.680115  1.00231   0.910111  0.711838  3.90523   1.33036   0.701615  0.711737  1.75454   0.91274   3.91933   4.33477   0.732776  1.37757   0.971235  5.84693  3.50306   0.946177  2.45744   2.35241   0.984555  1         1.49679   1.18924   1.08204
ZAR  0.985924  1.13604   0.53782   3.19418   1.37229   1.18988   2.75229   2.01759   0.525078  0.454384  0.669639  0.608044  0.475578  2.60908   0.888812  0.468748  0.475511  1.1722    0.6098    2.6185    2.89605   0.489566  0.920353  0.648881  3.90633  2.34039   0.632139  1.64181   1.57164   0.65778   0.668098  1         0.794527  0.722909
KRW  1.24089   1.42984   0.676906  4.02022   1.72718   1.4976    3.46406   2.53936   0.660869  0.571892  0.842815  0.765291  0.598568  3.28381   1.11867   0.589971  0.598483  1.47535   0.767501  3.29567   3.64501   0.616174  1.15837   0.816688  4.91654  2.94564   0.795617  2.0664    1.97808   0.827889  0.840876  1.25861   1         0.909861
JPY  1.36383   1.57149   0.743966  4.41851   1.89829   1.64596   3.80724   2.79093   0.72634   0.628549  0.926312  0.841108  0.657867  3.60914   1.22949   0.648419  0.657774  1.62151   0.843537  3.62217   4.00611   0.677218  1.27312   0.897597  5.40362  3.23746   0.874439  2.27112   2.17405   0.909907  0.924181  1.3833    1.09907   1
1
Автоматизируй это!
Эксперт Python
4202 / 2885 / 855
Регистрация: 30.03.2015
Сообщений: 9,323
Записей в блоге: 15
12.10.2019, 18:27 4
Arsegg, красиво, правда жсон отдельный тут не нужен, я в том плане что реквестс сам это умеет, можно смело заменить text на json() у ответа реквестс.
2
2050 / 1151 / 366
Регистрация: 02.09.2015
Сообщений: 3,087
12.10.2019, 18:36 5
Лучший ответ Сообщение было отмечено byNFH как решение

Решение

Welemir1, пофиксил:
Python
1
2
3
4
5
6
7
8
9
import requests
import tabulate
 
json = requests.get("https://www.cbr-xml-daily.ru/daily_json.js").json()
valutes = json["Valute"]
 
table = [[valuteX] + [valutes[valuteX]["Value"] / valutes[valuteY]["Value"] for valuteY in valutes] for valuteX in
         valutes]
print(tabulate.tabulate(table, headers=["\\"] + list(valutes.keys())))
1
1 / 1 / 0
Регистрация: 12.10.2019
Сообщений: 14
13.10.2019, 09:43  [ТС] 6
Arsegg, Это просто круто, спасибо огромное я не мог понять как получить список названия всех валют)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2019, 09:43

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Матрица 5 на 5. Вывести строку или столбец в зависимости наличия положительных или нулевых элементов
Дана квадратная матрица порядка n(n=5). Если все строки упорядочены по возрастанию, то в вектор x...

Если(И(ИЛИ. матрица 4*2
Подскажите пжлст как решить матрицу 4*2 согласно примера. Я пытаюсь через ЕСЛИ(И(ИЛИ но не могу...

Шлейф или матрица?
Здравствуйте. Собственно суть проблемы изложу в фотографии ниже. Хотелось бы узнать: это матрица...

Матрица или материнка. Не понятно!
Товарищи! Нужна помощь очень сильно! Материнка Petronas D-15E и матрица LTN156AT19-001. Были...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.