我是第一次这样做,到目前为止已经设置了一个简单的脚本来从 API 中获取 2 列数据数据
通过了,我可以用打印命令看到它
现在我正在尝试将它写入 CSV 并设置代码下面创建文件,但我不知道如何:
1. 删除每个数据行之间的空行
2. 为我想要的数据添加定界符 " "
3. 如果 IP 等值是空的然后只显示“”
我搜索并尝试了各种示例但只是出现错误
我成功编写 CSV 的代码片段是
import requests
import csv
import json
# Make an API call and store response
url = 'https://api-url-goes-here.com'
filename = "test.csv"
headers = {
'accept': 'application/json',
}
r = requests.get(url, headers=headers, auth=('User','PWD'))
print(f"Status code: {r.status_code}")
#Store API response in a variable
response_dict = r.json()
#Open a File for Writing
f = csv.writer(open(filename, "w", encoding='utf8'))
# Write CSV Header
f.writerow(["Computer_Name", "IP_Addresses"])
for computer in response_dict["advanced_computer_search"]["computers"]:
f.writerow([computer["Computer_Name"],computer["IP_Addresses"]])
我得到的 CSV 输出如下所示:
计算机名称、IP_地址
HYDM002543514,
HYDM002543513,10.93.96.144 - AirPort - en1
HYDM002544581,192.168.1.8 - AirPort - en1 / 10.93.224.177 - GlobalProtect - gpd0
HYDM002544580,10.93.80.101 - 以太网 - en0
HYDM002543515,192.168.0.6 - AirPort - en0 / 10.91.224.58 - GlobalProtect - gpd0
CHAM002369458,10.209.5.3 - 以太网 - en0
CHAM002370188,192.168.0.148 - AirPort - en0 / 10.125.91.23 - GlobalProtect - gpd0
MacBook 专业版,
我尝试添加
csv.writer(f, delimiter =' ',quotechar =',',quoting=csv.QUOTE_MINIMAL)
在 f = csv.writer 行之后但会产生错误:
TypeError: argument 1 must have a "write" method
我确信它很简单,但就是找不到正确的解决方案来在我的代码中实现。任何帮助表示赞赏。
另外,文件会自动关闭吗?一些示例建议使用类似 f.close() 的东西,但这会导致错误。我需要它吗?该文件似乎按原样创建得很好。
慕尼黑的夜晚无繁华
相关分类