Python 比较数据表



我正在制作一个项目,我需要将来自python的数据与来自excel或txt文件的数据进行比较。我会尝试更好地解释:我从网站上抓取了一个数据表(7 行 1 列的数据表(,我需要将这些值与 txt 或 excel 文件进行比较。此 txt 或 excel 文件有一个数据表,其中包含 3 个值,这些值存在于网络抓取的数据表中(3 行和 1 列(。

网页抓取数据表:

FT 202003/69362
FT 202003/62581
FT 202003/41307
FT 202003/32316
FT 202003/4664
FT 201903/215090
FT 201903/197043

txt 文件或 excel 文件中的数据表

FT 202003/62581
FT 202003/41307
FT 202003/32316

到目前为止我的代码:

faturas = driver.find_elements_by_xpath("//p[@class='text-description-small']//b[contains(text(),'FT')]")
totalfaturas = len(faturas)
fat_list = []
for fat in faturas:
fat_list.append(fat.text)
print(fat.text)

目标是找出网络抓取数据表中的哪些值在文件数据表中不存在,因为数据表中的所有值在这个网站上都有一个关联的按钮,但我只想从 txt 或 excel 文件中不存在的值中单击按钮(这部分我想我可以做到(。谁能帮我?

您甚至可以使用in来检查另一个文本中的一个文本:

text_from_file = '''FT 202003/62581
FT 202003/41307
FT 202003/32316'''
fat_text = 'FT 202003/62581'
if fat_text in text_from_file:
print('already in file')
else:
print('new element')

当您将文件中的文本作为项目列表时相同

list_from_file = [
'FT 202003/62581',
'FT 202003/41307',
'FT 202003/32316',
]    
fat_text = 'FT 202003/62581'
if fat_text in list_from_file:
print('already in file')
else:
print('new element')

对于pandas.DataFrame您可以使用">

if any(df['items'] == fat_text):

法典:

import pandas as pd
df = pd.DataFrame({'items': [
'FT 202003/62581',
'FT 202003/41307',
'FT 202003/32316',
]})
fat_text = 'FT 202003/62581'
if any(df['items'] == fat_text):
print('already in file')
else:
print('new element')

最终您可以使用 sum(( 将True转换为1,将False转换为0

if sum(df['items'] == fat_text) > 0:

或过滤行并检查您获得的行数

if len(df[ df['items'] == fat_text ]) > 0:

相关内容

  • 没有找到相关文章