[PYTHON] [Note] Sur la base de la latitude et de la longitude du fichier CSV, nous avons créé un script qui extrait les données dans la plage cible et ajoute un code de maillage.

Objectif

Sur la base de la latitude et de la longitude du fichier CSV, j'ai créé un script qui extrait les données de la plage cible et ajoute du code de maillage.

Conditions préalables

[Note] J'ai créé un script pour convertir les données au format grib2 en fichier csv

Courir

--Spécifiez le dossier d'entrée (en supposant qu'il existe plusieurs fichiers csv) et le fichier CSV de sortie.

highres_nowcast_add_meshcode.py


# -*- coding: utf-8 -*-
import os
import glob
import csv
import pandas as pd
import pprint
import calendar
import jismesh.utils as ju

#Spécifiez le fichier de sortie
output_csvfile = "./out/highres_nowcast_anl_kanto.csv"

#Réglage de la plage cible
y1 = 37.29166666666667
y2 = 34.04166666666667
x1 = 140.9375
x2 = 137.0625

#Fichier de sortie ouvert
with open(output_csvfile, 'a', encoding='utf-8', newline="") as f:

    #Obtenez le chemin de tous les fichiers csv dans le dossier
    All_Files = glob.glob('./data/*.csv')
    pprint.pprint (All_Files)

    #Traitement en boucle pour le nombre de fichiers csv
    for file in All_Files:
        #Stocker les données dans la liste
        df = pd.read_csv(file, header=None, encoding='utf-8')
        print(u'Fin du processus de stockage dans la trame de données')
        
        #Donnez un nom de colonne
        df.columns = ["time_s_utc","time_f_utc","sign","surface","lon","lat","rain"]
        
        print("---Avant l'extraction des données---")

        #Afficher les 5 premières valeurs
        print(df.head(5))

        #Voir dtype pour chaque colonne
        print(df.dtypes)

        #Prenez le nombre de lignes et de colonnes
        print(df.shape)
        
        #Extraire des données dans la plage cible
        df_kt = df[(df["lon"]>x2) & (df["lon"]<x1) & (df["lat"]>y2) & (df["lat"]<y1)]

        #Ajout du 5ème code de maillage
        df_kt['meshcode'] = ju.to_meshcode(df_kt.lat, df_kt.lon, 5)

        print("---Après l'extraction des données---")

        #Afficher les 5 premières valeurs
        print(df_kt.head(5))

        #Voir dtype pour chaque colonne
        print(df_kt.dtypes)

        #Prenez le nombre de lignes et de colonnes
        print(df_kt.shape)

        #Écrire dans le fichier CSV de sortie
        df_kt.to_csv(f, index=False)

    print(u'Sortie de traitement')

Diagramme des résultats de sortie

Fichier csv de sortie (précipitation de 5 minutes pour chaque 5ème maillage) et fichier de forme du 5ème maillage Sur cette base, tracez-le dans QGIS.

EiUsTC_VkAAhpwr.jpg

Recommended Posts

[Note] Sur la base de la latitude et de la longitude du fichier CSV, nous avons créé un script qui extrait les données dans la plage cible et ajoute un code de maillage.
[Python] À propos de la création d'un outil pour créer un nouveau courrier Outlook basé sur les données du fichier JSON et de la partie qui a été interceptée
Script Python qui lit les fichiers SQL, exécute BigQuery et enregistre le csv
Un script qui ouvre les URL écrites en CSV dans l'ordre et prend une capture d'écran en plein écran
[Note] Un script shell qui vérifie l'utilisation du processeur d'un processus spécifique dans une boucle while.
Remarque sur le comportement par défaut de collate_fn dans PyTorch
[Note] Importation de fichiers dans le répertoire parent en Python
Traitez le contenu du fichier dans l'ordre avec un script shell
Un script python qui supprime les fichiers ._DS_Store et ._ * créés sur Mac
Celui qui divise le fichier csv, le lit et le traite en parallèle
Lecture de code de faker, une bibliothèque qui génère des données de test en Python
J'ai créé un script pour vérifier si l'anglais est entré dans la position spécifiée du fichier JSON en Python.
J'ai créé un programme en Python qui lit les données FX CSV et crée un grand nombre d'images de graphiques