python调用web接口生成csv格式文件

公司CMDB库有一个web接口,需要调用这个接口得出一个CSV文件,主要方便后续用于shell脚本操作和解析,最近研究了以下,用python实现了,脚本可以放到 crontab里,这样这个文件每次都是新生成的,保证从接口取的数据都是最新的,全部实现代码如下:
#!/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打开也能正常显示中文。

你可能感兴趣的:(技术)