Парсинг каждого слова через запятую
Я делаю парсинг excell документа и получаю список элементов. Каждый элемент, это строка в которой через запятую указаны характеристики продукта. Как лучше реализовать отделение их друг от друга?
Допустим, метод возвращает строку "Intel-Core i7 - 10700F, 2.9 GHz, 16MB, oem, LGA1200, Comet Lake".
Задача из строки сделать коллекцию или json объект в виде
{
"title":"Intel-Core i7 - 10700F",
"frequency":"2.9 GHz",
"cache":"16MB",
"oem":"oem",
"socket": "LGA1200",
"gen": "Comet Lake"
}
Ответы (4 шт):
s = "Intel-Core i7 - 10700F, 2.9 GHz, 16MB, oem, LGA1200, Comet Lake"
res = dict(zip(("title", "frequence", "cache", "oem", "socket", "gen"), s.split(", ")))
print(res)
На мой взгляд чаще всего самое простое использовать Pandas. Одной командой читаешь excel, второй командой сохраняешь в json, например. Если требуется между ними делаешь дополнительные преобразования данных и аргументами указанных методов настраиваешь чтение и сохранение данных нужным образом.
import pandas as pd
df = pd.read_excel('tmp.xlsx')
df.to_json('example.json')
По приколу ещё такая вариация - названия полей подаются в том же строковом формате, что и значения полей:
s = "Intel-Core i7 - 10700F, 2.9 GHz, 16MB, oem, LGA1200, Comet Lake"
d = "title, frequence, cache, oem, socket, gen"
res = dict(zip(*[x.split(', ') for x in (d, s)]))
мб стоит попробовать созадать список s.split(", ")
а потом список ключей(k) в нужном порядке
а затем
for i in range(k.length()):
d[k[i]]=s[i]