Используйте
Pandas. Преобразуйте вашу структуру в объект, а его уже в Dataframe:
import pandas as pd
my_dict = { 'ID': otoid, 'ОГРНП': ogrn }
df = pd.DataFrame(data = my_dict)
upd:
полное решение, чтобы не читать всю вереницу комментариев:
import requests
import re
import pandas as pd
orgns = []
otoids = [11135, 11125]
for otoid in otoids:
s = requests.Session()
r = s.get('http://oto-register.autoins.ru/oto/index.xhtml')
cdata = re.search(r'id="j_id1:javax.faces.ViewState:0" value="(.+?)"', r.text).group(1).strip()
data = {
'javax.faces.partial.ajax': 'true',
'javax.faces.source': 'mainForm:remoteCommandSetupOtoId_action',
'javax.faces.partial.execute': 'mainForm:remoteCommandSetupOtoId_action',
'javax.faces.partial.render': 'mainForm:contentTabsPanel mainForm:otoPanel',
'mainForm:remoteCommandSetupOtoId_action': 'mainForm:remoteCommandSetupOtoId_action',
'otoId': otoid,
'mainForm': 'mainForm',
'mainForm:j_idt8': otoid,
'mainForm:j_idt9': '',
'mainForm:j_idt10': '',
'mainForm:j_idt11': '',
'javax.faces.ViewState': cdata,
}
headers = {
'X-Requested-With': 'XMLHttpRequest',
'Faces-Request': 'partial/ajax',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
}
r = s.post('http://oto-register.autoins.ru/oto/index.xhtml', data=data, headers=headers)
ogrn = re.search(r'ОГРН/ОГРНИП</div>\n.+<p>(.+?)</p>', r.text)
if ogrn != None:
ogrn = ogrn.group(1)
else:
ogrn = 'None'
orgns.append(ogrn)
my_dict = { 'ID': otoids, 'ОГРНП': orgns }
df = pd.DataFrame(data = my_dict)
print(df)