На вопрос «как сделать» отвечает документация и поиск в интернет.
Тут отвечают на вопросы «почему я сделал, как в документации, а оно не работает. Поискал в интернет, вот запросы, в ответах не нашел. Что я делаю не так?»
Покажите, как вы пробовали решить проблему, приведите код попытки (пусть неудачной), опишите, как запускали, что ожидали и что получилось.
За готовыми решениями - на фриланс. В текущем виде это не вопрос, а задание. Нарушен п.5.12 Регламента.
import pandas as pd
def parseline(line):
values = line.replace('"','').split(':')
if len(values) == 2:
return values[1].strip()
else:
return ''
with open("data4.html", encoding='utf-8') as file:
lines = file.readlines()
data = []
headers = 'brand', 'number', 'numberFix', 'short_number', 'crossType', 'reliable'
currentbrand = []
for line in lines:
if '"brand":' in line:
currentbrand = parseline(line)
else:
row_data = currentbrand
for i in range(5):
row_data.append(parseline(lines.pop(0)))
data.append(row_data)
df = pd.DataFrame(data, columns= headers)
df.toexcel('output.xlsx', index=False)
Traceback (most recent call last):
File "C:\Users\analitik\PycharmProjects\python_pars_ceni\second_obr_excel.py", line 21, in
row_data.append(parseline(lines.pop(0)))
^^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'append'
for line in lines:
if '"brand":' in line:
currentbrand = parseline(line)
else:
row_data = [currentbrand]
for i in range(5):
row_data.append(parseline(lines.pop(0)))
data.append(row_data)
print(row_data)
в общем тут проверку поставил, выводит пустые поля
specinc, дружище, неужели вы полагаете, что я буду за вас делать работу?
У вас ошибка, что вы пытаетесь к строке аппендить объект как к списку - ошибку исправили. Теперь у нас список есть, аппенд происходит успешно. А что там до и после написали…
Если вам надо за вас разработать и отдебажить скрипт - это вам на фриланс.