打开 2 个文件并将它们分配给 Python 3 中的 2 个集合

我有一个代码,它获取 selenium 信息,我需要将此信息打印到 docx,但要通过模板。在这里,我借助 print() 获取信息(设置某些部分)


史岱文森高中


一般信息

学校名称:
Stuyvesant 高中
校长:
Mr. Eric Contreras
校长电子邮件:
ECONTRE@SCHOOLS.NYC.GOV
类型:
普通学校
年级跨度:
9-12
地址:
345 Chambers Street, New York, NY 10282

我在控制台中打印此信息,但我需要将此信息打印到 docx。

这是代码的一部分,我在这里打印:

from selenium import webdriver

from selenium.common.exceptions import NoSuchElementException

import openpyxl

import docx

from docx.shared import Pt


List = []

wb = openpyxl.load_workbook('D:\INSPR\Rating_100_schools\Top-100.xlsx')

sheet = wb['RI']

tuple(sheet['A1':'A100']) # Get all cells from A1 to A100.

for rowOfCellObjects in sheet['A1':'A100']:

    for cellObj in rowOfCellObjects:

        List.append(cellObj.value)


School_list_result = []

State = sheet.title


driver = webdriver.Chrome(executable_path='D:\chromedriver') #any path


def check_xpath(xpath):

        try:

            element = driver.find_element_by_xpath(xpath)

            School_list_result.append(element.text)

        except NoSuchElementException:

            School_list_result.append("No data.")

    

def check_text(partial_link_text):

        try:

            element_text = driver.find_element_by_partial_link_text(partial_link_text)

            School_list_result.append(element_text.get_attribute("href"))

        except NoSuchElementException:

            School_list_result.append("No data.")

            

def check_click(clicker):

        try:

            element_click = driver.find_element_by_partial_link_text(clicker)

            element_click.click()

        except NoSuchElementException:

            print("No click.")

            


我需要的是:不是通过模板将此结果打印到控制台,而是通过模板打印到 docx。还有一个:如果你知道如何不使用索引(比如:School_list_result[0]),请告诉我。


元芳怎么了
浏览 89回答 2
2回答

蛊毒传说

只需将set()列表包裹起来。def readfile(fn):    with open(fn, 'r') as fh:        return fh.read().splitlines()diff = set(readfile("file1.txt")).difference(set(readfile("file2.txt")))

Helenr

您可以申请set将列表当场转换为集合。所以这就足够了:a_file = open(r'c:\a.csv', 'r')b_file = open(r'c:\b.csv', 'r')a_set = set(a_file.readlines())b_set = set(b_file.readlines())a_file.close()b_file.close()difference_list = a_set.difference(b_set)但我也建议应用with语句来执行基本的文件操作(打开、关闭等),并确保在几乎任何异常的情况下它们都将被正确关闭。在这种情况下,代码将如下所示:with open(r'c:\a.csv', 'r') as a_file, open(r'c:\b.csv', 'r') as b_file:    a_set = set(a_file.readlines())    b_set = set(b_file.readlines())difference_list = a_set.difference(b_set)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python