本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,如有問題請及時聯系我們以作處理,
以下文章來源于Python干貨鋪子 ,作者INUYASHA123
前言
對于我們下載的多數資料集,我們可能需要提取其中指定的來使用,比如這個空氣質量資料集,全國那么多站點,我只想要我研究的區域的站點資料,然而,當我打開檔案夾的時候,失望了,因為這些資料都是一個一個的csv檔案,有一個方法就是excel可以用腳本把這些單獨的csv合并為一個csv,但可能伴隨的問題就是資料超出excel的存盤上限,so,我們換一種做法提取指定站點的資料,
這次實驗用到的資料是全國2014-2020年的站點空氣質量資料,每小時的解析度的,截圖看看長什么樣子:
要是一個一個的打開去提取自己需要的,那會瘋掉的,So,上神器--Python來完成這次實驗操作
targets就是你指定的想提取的站點,想提取誰就指定誰,就輸入誰的站點代號就可以啦
整體代碼如下:
import os
import pandas as pd
# 定義相關引數
dataPath = './data' # 資料目錄
targets = ['1001A','1002A','1003A','1004A','1005A','1006A','1007A','1008A'] # 目標站點
result = [[] for i in range(len(targets))] # 用于保存結果
# 開始遍歷
for filepath in os.listdir(dataPath): # 遍歷每個檔案夾
for filename in os.listdir('%s/%s'%(dataPath,filepath)):
if not filename.endswith('.csv'): # 去重非csv資料檔案
continue
data = https://www.cnblogs.com/hhh188764/p/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之類的)的資料
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/232881.html
標籤:Python
