Wi sh для записи двух списков в один столбец csv-файла с использованием Selenium - Python - PullRequest
1 голос
/ 10 апреля 2020
reviewText = driver.find_elements_by_xpath("//div[@jscontroller='LVJlx']/span[1]")

reviewFullText = driver.find_elements_by_xpath("//div[@jscontroller='LVJlx']/span[2]")

Я перебираю значения списка reviewText, добавляя их в список Reviews. И в другом для l oop, выполняя тот же процесс, повторяя значения списка reviewFullText и записывая в список Reviews2.

for txtrev in reviewText:
    Reviews.append(txtrev.text)

for txtrev2 in reviewFullText:
    Reviews2.append(txtrev2.text)

Запись 2 списков в 1 файл CSV с использованием Pandas dataframe, но значения идут в 2 столбцах, но я хочу объединить 2 списка, где 1-й список значений индекса (скажем, если Обзоры [4] и Обзоры [6] являются нулевыми, означает, что потребности значений Обзоры2 [4] и Обзоры2 [6]) чтобы быть помещенным туда, буквально я вообще не хочу пустых и пустых пространств в CSV-файле), также мне нужно объединить эти 2 списка, чтобы я мог получить значения только в одном столбце. Например, если мои Обзоры [0], Обзоры [1], Обзоры [2], имеющие некоторое текстовое содержимое (на самом деле, обзоры магазина Google Play), Обзоры, которые не записаны в промежутке [1], будут получены из промежутка [2] ], поэтому Обзоры2 [0], Обзоры2 [1], Обзоры2 [2] в этом случае будут иметь значение null, Обзоры2 [3] будут иметь текстовое содержимое, либо любой из одного элемента списка будет иметь текстовое содержимое (Обзоры [10] имеют содержание). значит, у Reviews2 [10] не будет текста, у Reviews [11] нет содержания, у Reviews2 [11] будет его)

Здесь, на информационном кадре, мне нужно сначала заполнить Reviews [], затем Reviews2 [ ] должен быть заполнен в том же столбце, где список Обзоры [] имеют нулевые значения.

df = pd.DataFrame(Reviews,Reviews2)
df.to_csv('Reviews.csv', index=True, encoding='utf-8')
driver.close()

1 Ответ

1 голос
/ 10 апреля 2020

Я до сих пор не совсем уверен, что предприму вас полностью, но это может помочь вам начать:

import pandas as pd:

Reviews = ['This app is a crash','I have the same general','','']  
Reviews2 = ['','','app is working','app getting crashed often']
rev3 =[]

for x,y in zip(Reviews,Reviews2):
    if len(x)>0:
        rev3.append(x)
    else:
        rev3.append(y)
pd.DataFrame(rev3)

Вывод:

    0
0   This app is a crash
1   I have the same general
2   app is working
3   app getting crashed often
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...