"Essayez de compter le nombre de clients dans la ville / le quartier / le comté à partir de la liste d'adresses en Python" https://qiita.com/kkhouse/items/d8ff2c67cef686a508f8
C'est une continuation de.
La dernière fois, j'ai écrit un code qui calcule le nombre de clients dans n'importe quel district en utilisant la liste d'adresses des membres et en fait une liste.
Puisque j'ai beaucoup appris, je posterai l'explication du code d'OpenPyXl utilisé.
Comme je l'ai signalé dans l'article précédent, voici le code complété. La branche conditionnelle est longue ~
main.py
import csv
import sys
import os
import openpyxl as px
#conversion csv → xlsx
wb = openpyxl.Workbook()
ws = wb.active
query_word = sys.argv[1]
f = open("./data_csv/{}.csv".format(query_word))
reader = csv.reader(f, delimiter=":")
for row in reader:
ws.append(row)
f.close()
wb.save("./data_xlsx/{0}{1}.xlsx".format(query_word,"_Agrégat"))
#Écrire en xlsx en Python
folder = "data_xlsx"
filePath = []
for root,dirs,files in os.walk(folder):
for fname in files:
fnamePath = os.path.join(root,fname)
if fnamePath.find(".xlsx")!= -1:
filePath.append(fnamePath)
if filePath ==[]:
print("il n'y a pas de données!")
xlsx_files_list = [s for s in filePath if query_word in s]
#Obtenez le xlsx créé
wb = px.load_workbook(xlsx_files_list[0])
ws = wb[wb.sheetnames[0]]
#Lister toutes les adresses en xlsx
Miyagi_col =["Ville d'Ishimaki","Quartier Miyagino","Quartier de Wakabayashi","Quartier d'Aoba","Quartier Izumi","Quartier de Taichi","Château de Taga","Autre"]
adress_list = []
#Liste vide de chaque ville
isinomaki =[]
miyagino =[]
wakabayasi =[]
aoba =[]
izumi =[]
taihaku =[]
tagazyo =[]
hoka =[]
#Liste de chaque commune
for i in range(ws.max_row):
adress_list.append(ws.cell(row=i+1, column=1).value)
if "Ville d'Ishimaki" in ws.cell(row=i+1,column=1).value:
isinomaki.append(ws.cell(row=i+1,column=1).value)
elif "Quartier Miyagino" in ws.cell(row=i+1,column=1).value:
miyagino.append(ws.cell(row=i+1,column=1).value)
elif "Quartier de Wakabayashi" in ws.cell(row=i+1,column=1).value:
wakabayasi.append(ws.cell(row=i+1,column=1).value)
elif "Quartier d'Aoba" in ws.cell(row=i+1,column=1).value:
aoba.append(ws.cell(row=i+1,column=1).value)
elif "Quartier Izumi" in ws.cell(row=i+1,column=1).value:
izumi.append(ws.cell(row=i+1,column=1).value)
elif "Quartier de Taichi" in ws.cell(row=i+1,column=1).value:
taihaku.append(ws.cell(row=i+1,column=1).value)
elif "Château de Taga" in ws.cell(row=i+1,column=1).value:
tagazyo.append(ws.cell(row=i+1,column=1).value)
else:
hoka.append(ws.cell(row=i+1,column=1).value)
pre_list = [isinomaki,miyagino,wakabayasi,aoba,izumi,taihaku,tagazyo,hoka]
#Colonne de liste à créer
for i,j in zip(list(range(1,9)),Miyagi_col):
ws.cell(row=i, column=7).value = j
#Liste des données à créer
for i,g in zip(list(range(1,9)),pre_list):
ws.cell(row=i, column=8).value = len(g)
#Stockage de données
wb.save("./data_xlsx/{0}{1}.xlsx".format(query_word,"_Agrégat"))
#conversion csv → xlsx
wb = openpyxl.Workbook(
ws = wb.active
query_word = sys.argv[1]
f = open("./data_csv/{}.csv".format(query_word))
reader = csv.reader(f, delimiter=":")
for row in reader:
ws.append(row)
f.close()
wb.save("./data_xlsx/{0}{1}.xlsx".format(query_word,"_Agrégat"))
wb = openpyxl.Workbook () # nouvelle création ws = wb.active # feuille active
query_word = sys.argv[1] f = open("./data_csv/{}.csv".format(query_word)) Obtenez le nom de fichier entré dans le terminal avec sys.argv et la méthode de format (Python main.py ○○ (nom de fichier))
reader = csv.reader(f, delimiter=":") for row in reader: ws.append(row) f.close() Charger csv
wb.save ("./data_xlsx/{0}{1}.xlsx".format (query_word," _aggregate ")) Convertissez en fichier xlsx et enregistrez-le.
Il est temps si loin! La prochaine fois à partir du code pour trouver le fichier XLSX dans le répertoire
Recommended Posts