最近由于爬虫需要,需对excel中的id、经纬度提取,并按照id把经纬度存入不同的csv文件,但是目前代码重复率较高,以后会继续优化运行效率,代码如下
import pandas as pd
import os
import numpy as np
import csv
dir_id=pd.read_excel("C:\\Users\\admin\\Desktop\\15m.xlsx",
usecols=[1],names=None)
dir_coordinate=pd.read_excel("C:\\Users\\admin\\Desktop\\15m.xlsx",
usecols=[11,12],names=None)
# dir_Y=pd.read_excel("C:\\Users\\admin\\Desktop\\15m.xlsx",
# usecols=[12],names=None)
Points_id = dir_id.values.tolist()
Points_coordinate = dir_coordinate.values.tolist()
# Points_Y = dir_Y.values.tolist()
# with open('test.csv','w',newline='',encoding='utf-8')as f:
# csv_writer = csv.writer(f)
# csv_writer.writerow(["X","Y"])
# csv_writer.writerows([Points_coordinate[0]])
# csv_writer.writerows([Points_coordinate[1]])
# f.close()
# a=np.unique(Points_id)
# print(len(a))
#len(Points_id)-1
#print(Points_id[0],Points_id[len(Points_id)-1])
for i in range(len(Points_id)-1):
if i==0:
path = "D:\\百度爬取街景地图\\BaiduPanoramaSpider-main\\BaiduPanoramaSpider-main\\15m_data" + "\\" + str(
Points_id[i])
if not os.path.exists(path):
os.mkdir(path)
with open(path+"\\"+"example.csv", 'a+', newline='', encoding='utf-8') as f:
csv_writer = csv.writer(f)
csv_writer.writerow(["X", "Y"])
csv_writer.writerows([Points_coordinate[i]])
elif i<(len(Points_id)-1) and i>0:
if Points_id[i] == Points_id[i+1]:
path="D:\\百度爬取街景地图\\BaiduPanoramaSpider-main\\BaiduPanoramaSpider-main\\15m_data" + "\\" + str(Points_id[i])
with open(path+"\\"+"example.csv", 'a+', newline='', encoding='utf-8') as f:
csv_writer = csv.writer(f)
csv_writer.writerows([Points_coordinate[i]])
f.close()
elif Points_id[i] != Points_id[i+1]:
path = "D:\\百度爬取街景地图\\BaiduPanoramaSpider-main\\BaiduPanoramaSpider-main\\15m_data" + "\\" + str(Points_id[i])
with open(path+"\\"+"example.csv", 'a+', newline='', encoding='utf-8') as f:
csv_writer = csv.writer(f)
csv_writer.writerows([Points_coordinate[i]])
f.close()
path = "D:\\百度爬取街景地图\\BaiduPanoramaSpider-main\\BaiduPanoramaSpider-main\\15m_data" + "\\" + str(Points_id[i+1])
if not os.path.exists(path):
os.mkdir(path)
with open(path+"\\"+"example.csv", 'a+', newline='', encoding='utf-8') as f:
csv_writer = csv.writer(f)
csv_writer.writerow(["X", "Y"])
f.close()
else:
if i==(len(Points_id)-1):
path = "D:\\百度爬取街景地图\\BaiduPanoramaSpider-main\\BaiduPanoramaSpider-main\\15m_data" + "\\" + str(
Points_id[i])
with open(path+"\\"+"example.csv", 'a+', newline='', encoding='utf-8') as f:
csv_writer = csv.writer(f)
csv_writer.writerows([Points_coordinate[i]])
f.close()
FilePath="D:\\百度爬取街景地图\\BaiduPanoramaSpider-main\\BaiduPanoramaSpider-main\\15m_data"
dir_Name=os.listdir(FilePath)
for i in range(len(dir_Name)):
print(i)
baiduImgDownloader("15m_data"+"\\"+dir_Name[i]+"\\"+"example.csv", # CRS: WGS84
"15m_data"+"\\"+dir_Name[i], # folder
ak=YourAK, zoom=4)