公司CMDB库有一个web接口,需要调用这个接口得出一个CSV文件,主要方便后续用于shell脚本操作和解析,最近研究了以下,用python实现了,脚本可以放到 crontab里,这样这个文件每次都是新生成的,保证从接口取的数据都是最新的,全部实现代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#!/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(sn) f.close() |
代码比较简单,最主要的是写入CSV的时候要编码,因为从接口获取的数据是有中文的,这样写入保证编码一致,这样用 excel打开也能正常显示中文。