import numpy as np
A = [[1,2], [3,4]]
def pad_el(el):
return np.stack(
(
np.zeros(3),
np.pad([el], 1, mode='constant'),
np.zeros(3)
), axis=1)
out_array = []
for i in range(len(A)):
row = []
for j in range(len(A[i])):
if len(row) == 0:
row = pad_el(A[i][j])
else:
row = np.block([row, pad_el(A[i][j])])
if len(out_array) == 0:
out_array = row
else:
out_array = np.vstack((out_array, row))
print(out_array)
[[0. 0. 0. 0. 0. 0.]
[0. 1. 0. 0. 2. 0.]
[0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0.]
[0. 3. 0. 0. 4. 0.]
[0. 0. 0. 0. 0. 0.]]
[[0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 1. 0. 0. 2. 0. 0. 3. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 3. 0. 0. 4. 0. 0. 5. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 6. 0. 0. 7. 0. 0. 8. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0.]]
group = models.ForeignKey(Techgroup, on_delete=models.CASCADE, related_name="group", null=True, blank=True)
group = models.ForeignKey(Techgroup, on_delete=models.CASCADE, related_name="group")
html_text = """
<table class="content-table">
...
</table>
"""
import lxml.html
root = lxml.html.fromstring(html_text)
header = [x.text for x in root.xpath('.//tr/th')]
for item in root.xpath('.//tr'):
td = [x.text for x in item.xpath('.//td')]
if td:
print(dict(zip(header, td)))
{'Год': 'след 12m. (прогноз)', 'Дивиденд (руб.)': '83.71', 'Изм. к пред. году': '+53.2%'}
{'Год': '2019', 'Дивиденд (руб.)': '54.64', 'Изм. к пред. году': '+28.78%'}
{'Год': '2018', 'Дивиденд (руб.)': '42.43', 'Изм. к пред. году': '-16.13%'}
{'Год': '2017', 'Дивиденд (руб.)': '50.59', 'Изм. к пред. году': '+361.59%'}
{'Год': '2016', 'Дивиденд (руб.)': '10.96', 'Изм. к пред. году': '+3.59%'}
{'Год': '2015', 'Дивиденд (руб.)': '10.58', 'Изм. к пред. году': '+28.55%'}
{'Год': '2014', 'Дивиденд (руб.)': '8.23', 'Изм. к пред. году': '-4.3%'}
{'Год': '2013', 'Дивиденд (руб.)': '8.6', 'Изм. к пред. году': '+21.47%'}
{'Год': '2012', 'Дивиденд (руб.)': '7.08', 'Изм. к пред. году': '+41.04%'}
{'Год': '2011', 'Дивиденд (руб.)': '5.02', 'Изм. к пред. году': '-23.48%'}
{'Год': '2010', 'Дивиденд (руб.)': '6.56', 'Изм. к пред. году': '+48.42%'}
{'Год': '2009', 'Дивиденд (руб.)': '4.42', 'Изм. к пред. году': '-21.77%'}
{'Год': '2008', 'Дивиденд (руб.)': '5.65', 'Изм. к пред. году': '+22.83%'}
{'Год': '2007', 'Дивиденд (руб.)': '4.6', 'Изм. к пред. году': '+360%'}
{'Год': '2006', 'Дивиденд (руб.)': '1', 'Изм. к пред. году': 'n/a'}
{'Год': '2005', 'Дивиденд (руб.)': '0', 'Изм. к пред. году': '-100%'}
{'Год': '2004', 'Дивиденд (руб.)': '2', 'Изм. к пред. году': 'n/a'}
from matplotlib.pyplot import imshow
%matplotlib inline
import cv2
import numpy as np
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
# создать изображение 100x100
image = np.zeros((100, 100, 3), np.uint8)
# залить его зеленым цветом
color = GREEN
out_color = tuple(reversed(color))
image[:] = out_color
# вывести на экран
imshow(image)
# сохранить в файл image.jpg
cv2.imwrite('image.jpg', image)
is_success, buffer = cv2.imencode(".jpg", image)
io_buf = io.BytesIO(buffer)
# decode
decode_img = cv2.imdecode(np.frombuffer(io_buf.getbuffer(), np.uint8), -1)
Как преобразовать эту строку в список? Чтобы я мог вызывать элементы
например 2 элемент
>>> import json
>>> str1 = "['Первое', 'Второе', 'Третье', 'Четвертое']"
>>> json.loads(str1.replace("'", '"'))[1]
'Второе'