Как создать ячейку emtpy в CSV, если данные не найдены - PullRequest
0 голосов
/ 19 февраля 2019

Я пытаюсь очистить некоторые данные с веб-сайта.Это выглядит так: Персона 1 Данные 1 Данные 2 Данные 3 Данные 5

Персона 2 Данные 2 Данные 3 Данные 7

Я бы хотел, чтобы выходные данные в csv были такими:

Person 1    Data 1  Data 2  Data 3  Data 4  Data 5  Data 6  Data 7
            data    data    data            data

Person 2    Data 1  Data 2  Data 3  Data 4  Data 5  Data 6  Data 7
                    data    data                            data

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

Я использую Python 3.6.7 и селен.Кстати, в приведенном выше примере «data» - это любое значение, найденное для записей Data1-Data7.Я надеюсь, что это понятно.

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Спасибо всем, кто пытался мне помочь.Я нашел решение:

Data=None
    try:
        Cell=elm.find_element_by_xpath(".//div[@class='whatever_the_class_name'][contains(.,'whatever_data')].text
    except NoSuchElementException:
        Data=' '
    line.append(Data)

Предпоследняя строка кода является ответом на мой вопрос.Ну, самые простые вещи (иногда) самые тяжелые;)

0 голосов
/ 19 февраля 2019

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

for row in csvreader:
        try:
               #your code for cells which aren't empty
        except:
               #your code for empty cells

Вы также можете попробовать что-то вроде этого. Это заполнит все пустые ячейки до 0 =

result.fillna(0, inplace=True)

РЕДАКТИРОВАТЬ --------

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

for cl in list_of_columns:
  df[cl] = df[cl].replace(r'\s+', np.nan, regex=True)
  df[cl] = df[cl].fillna(0)
...