文中的文本及图片来自互联网,仅作学习培训 、沟通交流应用,不具备一切商业行为,如有什么问题请立即在线留言以作解决。
下列文章内容来自Python干货知识店铺 ,创作者INUYASHA123
序言
针对我们下载的大部分数据集,大家很有可能必须提取在其中特定的来应用,例如这一空气指数数据集 ,全国各地那么多站点,我只想要我科学研究的地区的站点数据,殊不知 ,当我们打开文件夹的情况下,心寒了,由于这种数据全是一个一个的csv文件 。有一个方式便是excel可以用脚本制作把这种独立的csv合拼为一个csv ,但很有可能随着的难题便是数据超过excel的储存限制 ,so,大家换一种作法提取特定站点的数据。
此次试验采用的数据是全国各地2014-2020年的站点空气指数数据,每钟头的屏幕分辨率的 ,截屏看一下长什么样子:
如果一个一个的开启去提取自身必须的,那会发疯的,So,上武器--Python来进行此次实验过程
targets便是你特定的想提取的站点 ,想提取谁就特定谁,就键入谁的站点编号就可以啦
总体编码以下:
import os
import pandas as pd
# 界定有关主要参数
dataPath = './data' # 数据文件目录
targets = ['1001A','1002A','1002A','1004a','1005A','1006A','1007A','1008A'] # 总体目标站点
result = [[] for i in range(len(targets))] # 用以储存結果
# 刚开始解析xml
for filepath in os.listdir(dataPath): # 解析xml每一个文件夹名称
for filename in os.listdir('%s/%s'%(dataPath,filepath)):
if not filename.endswith('.csv'): # 去重复非csv数据文档
continue
data = pd.read_csv('%s/%s/%s'%(dataPath,filepath,filename))
for i in range(0,len(data),15):
for k in range(len(targets)):
try:
item = {'date':data['date'][i], # 日期
'hour':data['hour'][i]} # 钟头
for j in range(i,i 15):
item[data['type'][j]] = data[targets[k]][j]
result[k].append(item)
except:
pass
print('%s交通事故结案'%filename)
# 储存結果
for i in range(len(targets)):
pd.DataFrame(result[i]).to_csv('%s.csv'%targets[i],index=False)
Run,起动就可以运作 ,結果键入是这好多个站点的csv数据,里边包括了所纪录的时间段的全部因素(例如PM10这类的)的数据