Что я делаю неправильно в этом цикле разделения строк Excel? - PullRequest
0 голосов
/ 17 июня 2019

Я написал этот небольшой код для разделения доменов из списков URL-адресов в книге Excel. Но проблема в том, что я не могу заставить его записать в фактическую рабочую книгу или даже создать новую рабочую книгу с доменами.

#looping it
for i in range(2, 200):
print((sheet.cell(row=i, column=1).value).split('http://')[-1].split('/')[0].split('www.')[-1])

#but by this i have to go copy paste the results in the excel sheet
#so i tried this replace value method but it keeps showing attribute error

for x in range(2, 258):
    sheet.cell(row=x, column=1).value = sheet.cell(row=x, column=1).value.split('http://')[-1].split('/')[0].split('www.')[-1]


Traceback (most recent call last):
  File "<pyshell#63>", line 2, in <module>
    sheet.cell(row=x, column=1).value = sheet.cell(row=x, column=1).value.split('http://')[-1].split('/')[0].split('www.')[-1]
AttributeError: 'NoneType' object has no attribute 'split'

Я хочу, чтобы этот цикл прошел по списку и разделил URL (htts: //www.example.com/example-page/) на домен (example.com) и сохранил его на том же или новом листе, когда я используйте это

wb.save('domains_list')
#it saves the splitted domains automatically without me copy pasting it from idle to excel workbook.

1 Ответ

0 голосов
/ 17 июня 2019

Как сказано в комментариях, вы должны управлять случаем, когда ячейка пуста:

for i in range(2, 200):
    val = sheet.cell(row=i, column=1).value
    if val is None:
        continue   
    print(val.split('http://')[-1].split('/')[0].split('www.')[-1])
...