我正在做一个项目,我需要比较数据从python与数据从excel或txt文件。我将尝试解释得更好:我从网站上抓取了一个数据表(7行1列的数据表),我需要将这些值与txt或excel文件进行比较。此txt或excel文件有一个数据表,其中包含web抓取的数据表中存在的3个值(3行1列)。
Web抓取数据表:
FT 202003/69362
FT 202003/62581
FT 202003/41307
FT 202003/32316
FT 202003/4664
FT 201903/215090
FT 201903/197043txt文件或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)这样做的目的是找出哪些值从web抓取的数据表中不存在于文件数据表中,因为所有来自数据表的值在本网站中都有一个相关的按钮,但我只想从txt或excel文件中不存在的值中点击按钮(这部分我认为我可以做到)。有谁可以帮我?
发布于 2020-05-29 00:03:30
您甚至可以使用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:https://stackoverflow.com/questions/62068714
复制相似问题