公司CMDB库有一个web接口,需要调用这个接口得出一个CSV文件,主要方便后续用于shell脚本操作和解析,最近研究了以下,用python实现了,脚本可以放到 crontab里,这样这个文件每次都是新生成的,保证从接口取的数据都是最新的,全部实现代码如下:</span>
#!/usr/bin/env python
#coding=utf8
import requests
import csv
import sys
reload(sys)
sys.setdefaultencoding( "utf-8")
def grant(seq):
r = requests.get("http://your url address", params={'z':seq})
data = r.json()
data = data["list"]
if data != []:
product = data[0]["product"]
seq1 = data[0]["seq"]
with open('sncsv', 'a') as f:
writer = csv.writer(f,dialect='excel')
writer.writerow([sn, pro.encode('gb2312')])
#open file
f = open('file.txt', 'r')
for seq in f:
seq = seq.strip()
grant(seq)
f.close()
代码比较简单,最主要的是写入CSV的时候要编码,因为从接口获取的数据是有中文的,这样写入保证编码一致,这样用 excel打开也能正常显示中文。