Как мне сделать данные о моем втором сохранении l oop в другой строке в CSV - PullRequest
0 голосов
/ 12 марта 2020

Это функция, которую я хочу запустить, но произошло то, что 2-й l oop данных заменяет первый l oop данных, которые были сохранены в csv
class Search ():

def searchtest(self):

    # print(soup)

    test_words = ['abad','abercrombie']
    full_name = ['Abad, Christina Q.','Abercrombie, Veronica F.']
    test_word = ['STEVEN']
    x = 0



    for i in test_words:
            print("------------")  
            search = self.driver.find_element_by_xpath('//*[@id="page-wrapper"]/div[3]/div/div/div/div/div[3]/tabletoolstrans/div/input')
            search.clear()
            search.send_keys(i)
            search.send_keys(Keys.RETURN)
            time.sleep(3)
            soup = BeautifulSoup(self.driver.page_source,"html.parser")
            for item in soup.findAll("tr", {"class": "hand_cursor ng-scope"}):
                for td in item.findAll("td")[1]:
                        name = full_name[x]
                        print(name)
                        if td == name:
                            print("Search :"+name+"")
                            print("Pass")
                            buttons.save_csv(self, name, "Pass")
                        else:
                            print("Search :"+name+"")
                            buttons.save_csv(self, name, "Fail")
            x += 1
            print("<------------>")
    time.sleep(3)

Это функция csv, которая печатает данные в excel def save_csv (self, name, a):

    with open('test_case.xlsx','w', newline='') as csvfile:
        obj = csv.writer(csvfile, delimiter='\t',)
        obj.writerow([name,a])

    csvfile.close()

Ожидаемый результат Abad, Christina Q. | Pass Abercromb ie, Вероника Ф. | Pass

1 Ответ

0 голосов
/ 12 марта 2020

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

В вашей функции save_csv, with open('test_case.xlsx','w', newline='')... перезапишет файл, если он уже существует. Чтобы добавить в существующий файл, вы хотите with open('test_case.xlsx','a', newline='')....

Ссылка: https://docs.python.org/3/tutorial/inputoutput.html#reading -and-writing-files

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...