如何将网站列表的状态从 python 导出为"是"或"否"到 csv?



我从csv文件中导入了一个网站列表。然后我查看了每个网站,看看这是否是在wordpress中开发的。现在,我想将每个网站的wordpress状态导出为"是"或"否"到csv中。从这个代码中,我可以得到全部为"是"或全部为"否"的状态。它返回上次运行的网站的wordpress状态作为所有网站的wordpress状态。例如:如果上次运行的网站的wordpress状态为"是",则csv中所有网站的状态为"否"。

`wpLoginCheck = requests.get(websiteToScan + '/wp-login.php', headers=user_agent)
print(f"wpLoginCheck: {wpLoginCheck}")
if wpLoginCheck.status_code == 200:
df['Status'] = 'Yes'
df.to_csv('updated.csv', index=False)
else:
print ("Not detected")
df['Status'] = 'No'
df.to_csv('updated.csv', index=False)`
df['Status'] = 'Yes'

将所有行的变量"Status"设置为"Yes"。如果你想更改特定单元格的值,你需要使用

df.at[i, 'Status'] = 'Yes'

其中i是行索引。如果您想在循环进行时添加行,可以将结果保存在字典中,并在最后将其转换为数据帧。例如,请参阅如何在for循环中的pandas数据帧中追加行?

一种方法是使用pandas数据帧的apply函数。假设要扫描的网站是其中一个专栏,你可以做:

def wpLoginCheck(row):
requests.get(row['websiteToScan'] + '/wp-login.php', headers=user_agent)
if wpLoginCheck.status_code == 200:
return 'Yes'
else:
return'No'
df['Status'] = df.apply(wpLoginCheck, axis=1)
df.to_csv('updated.csv', index=False)

最新更新