как автоматизировать импорт данных вида ключ-значение в python?

Рейтинг: 0Ответов: 3Опубликовано: 12.04.2023

хочу быстро закинуть эти данные в питон, чтобы потом ими воспользоваться. дана таблица буквенно-цифрового кодирования (ключ-значение). вручную закидывать рутинно, хочу узнать, какими способами можно воспользоваться для этого. изначально таблица в html

0   1   2   3   4   5   6   7   8   9   A   B   C   D   E
0   1   2   3   4   5   6   7   8   9   10  11  12  13  14

F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T
15  16  17  18  19  20  21  22  23  24  25  26  27  28  29

U   V   W   X   Y   Z   Пробел  $   %   *   +   -   .   /   :
30  31  32  33  34  35    36    37  38  39  40  41  42  43  44 

Ответы

▲ 1Принят

У меня получилось как-то так.

Копируем таблицу в файл - запускаем


data = []
with open('text.txt') as file:
    lines = file.read().splitlines()
for line in lines: 
    data.append(line.split())

data = list(filter(None, data))

my_dict = {}

for i in range(0, len(data)-1, 2):
    for j in range(len(data[i])):
        my_dict[data[i+1][j]] = data[i][j]

print(my_dict)

▲ 2

ну если в html, то как то так можно

import pandas
all_tables = pandas.read_html(url)  # изначально таблица в html
my_table = all_tables[0]  # таблица буквенно-цифрового кодирования
dict_table = my_table.to_dict()  # ключ-значение
print(dict_table['V'])
▲ 1

Если я вас правильно понял, то можно так:

t = """
0   1   2   3   4   5   6   7   8   9   A   B   C   D   E
0   1   2   3   4   5   6   7   8   9   10  11  12  13  14

F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T
15  16  17  18  19  20  21  22  23  24  25  26  27  28  29

U   V   W   X   Y   Z   Пробел  $   %   *   +   -   .   /   :
30  31  32  33  34  35    36    37  38  39  40  41  42  43  44
"""

t_list = list(filter(None, t.split("\n")))
count = 0
rez_dict = {}
while True:
    if count == len(t_list):
        break
    key = list(filter(None, t_list[count].split(" ")))
    val = list(filter(None, t_list[count + 1].split(" ")))
    for i in range(0, len(key)):
        rez_dict[key[i]] = val[i]
    count += 2
print(rez_dict)

значение переменной t можно поменять на input для ввода