"Versuchen Sie, die Anzahl der Kunden in der Stadt / Gemeinde / im Landkreis anhand der Adressliste in Python zu zählen." https://qiita.com/kkhouse/items/d8ff2c67cef686a508f8
Es ist eine Fortsetzung von.
Letztes Mal habe ich einen Code geschrieben, der die Anzahl der Kunden in einem Distrikt anhand der Adressliste des Mitglieds berechnet und zu einer Liste macht.
Da ich viel gelernt habe, werde ich die Code-Erklärung von OpenPyXl veröffentlichen.
Wie ich im vorherigen Artikel gepostet habe, ist hier der vollständige Code. Der bedingte Zweig ist lang ~
main.py
import csv
import sys
import os
import openpyxl as px
#csv → xlsx-Konvertierung
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,"_Aggregat"))
#Schreiben Sie in Python in xlsx
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("keine Daten verfügbar!")
xlsx_files_list = [s for s in filePath if query_word in s]
#Holen Sie sich das erstellte xlsx
wb = px.load_workbook(xlsx_files_list[0])
ws = wb[wb.sheetnames[0]]
#Listen Sie alle Adressen in xlsx auf
Miyagi_col =["Ishimaki Stadt","Miyagino Ward","Wakabayashi Ward","Aoba Ward","Izumi Ward","Taichi Ward","Taga Schloss","Andere"]
adress_list = []
#Leere Liste jeder Stadt
isinomaki =[]
miyagino =[]
wakabayasi =[]
aoba =[]
izumi =[]
taihaku =[]
tagazyo =[]
hoka =[]
#Liste jeder Gemeinde
for i in range(ws.max_row):
adress_list.append(ws.cell(row=i+1, column=1).value)
if "Ishimaki Stadt" in ws.cell(row=i+1,column=1).value:
isinomaki.append(ws.cell(row=i+1,column=1).value)
elif "Miyagino Ward" in ws.cell(row=i+1,column=1).value:
miyagino.append(ws.cell(row=i+1,column=1).value)
elif "Wakabayashi Ward" in ws.cell(row=i+1,column=1).value:
wakabayasi.append(ws.cell(row=i+1,column=1).value)
elif "Aoba Ward" in ws.cell(row=i+1,column=1).value:
aoba.append(ws.cell(row=i+1,column=1).value)
elif "Izumi Ward" in ws.cell(row=i+1,column=1).value:
izumi.append(ws.cell(row=i+1,column=1).value)
elif "Taichi Ward" in ws.cell(row=i+1,column=1).value:
taihaku.append(ws.cell(row=i+1,column=1).value)
elif "Taga Schloss" 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]
#Zu erstellende Listenspalte
for i,j in zip(list(range(1,9)),Miyagi_col):
ws.cell(row=i, column=7).value = j
#Listen Sie die zu erstellenden Daten auf
for i,g in zip(list(range(1,9)),pre_list):
ws.cell(row=i, column=8).value = len(g)
#Datenspeicher
wb.save("./data_xlsx/{0}{1}.xlsx".format(query_word,"_Aggregat"))
#csv → xlsx-Konvertierung
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,"_Aggregat"))
wb = openpyxl.Workbook () # neue Kreation ws = wb.active #active sheet
query_word = sys.argv[1] f = open("./data_csv/{}.csv".format(query_word)) Rufen Sie den im Terminal eingegebenen Dateinamen mit sys.argv und der Formatmethode ab (Python main.py ○○ (Dateiname))
reader = csv.reader(f, delimiter=":") for row in reader: ws.append(row) f.close() Laden Sie csv
wb.save ("./data_xlsx/{0}{1}.xlsx".format (query_word," _aggregate ")) In xlsx-Datei konvertieren und speichern.
Es ist soweit soweit! Das nächste Mal aus dem Code, um die XLSX-Datei aus dem Verzeichnis zu finden
Recommended Posts