首页 > 技术文章 > read write excel

yaohu 2020-03-30 11:14 原文

import requests, os, xlrd, json, xlwings as xw


class readXls():
def read(self, name, sheetname):
try:
self.path = os.path.abspath(os.path.join(os.path.dirname(__file__), name))
table = xlrd.open_workbook(self.path).sheet_by_name(sheetname)
xldata = []
for i in range(1, table.nrows):
xldata.append(table.row_values(i))
return xldata
except Exception as e:
raise e


def baidu_search_geo():
url = "http://api.map.baidu.com/geocoder"
headers = {}
xlsname = 'lng_lat.xlsx'
xls = readXls()
data = xls.read(xlsname, 'Sheet1')
lng_list = []
lat_list = []
for i in data:
address, a, t, b, d = i
params = {"address": address, "output": "json", "key": "f247cdb592eb43ebac6ccd27f796e2d2"}
response = requests.request("GET", url, headers=headers, params=params)
res = response.text
d = json.loads(res)
if not d:
lng = ''
lat = ''
else:
lng = d['result']['location']['lng']
lat = d['result']['location']['lat']
print("'address': '{0}' --> 经度:%f , 纬度:%f".format(address) % (lng, lat))
lng_list.append(lng)
lat_list.append(lat)
xl = xw.Book(xlsname)
sh = xl.sheets[0]
sh.range('D2').options(transpose=True).value = lng_list
sh.range('E2').options(transpose=True).value = lat_list
xl.save()

推荐阅读