所以我正在开发一个读取,解析和写入MASSIVE csv文件的项目。我现在关注的部分是地球每个地区的人口。每个地区都有三类人口分为年龄。人口1-15,人口15-65,人口65+,我在python中写这一切,并遇到了一些我无法弄清楚的问题。我将粘贴代码并进一步解释
from tkinter import *
from tkinter import filedialog
import csv
root = Tk()
root.geometry("500x600")
with open("REGION.csv", "r") as csv_file:
csv_reader = csv.DictReader(csv_file)
for line in csv_reader :
print(line ["REGION_ID"])
print(line ["POPULATION_15"])
print(line ["POPULATION_15_65"])
print(line ["POPULATION_65"])
lbl1 = Label(root, text = "Enter orginal population (Estimate, Past figures only)").pack()
orpop = Entry(root).pack()
mainloop()
(代码可能有点草率,这是我的第一个项目。) 好的,现在,他们大约有2806个地区,并且都有3个类别的流行音乐,现在,我想要做的第一件事是添加所有地区的所有人口,所以POPULATION_15 + POPULATION_15_65 + POPULATION_65 如果有人能给我这些代码,我们将不胜感激。 接下来,我提示用户过去给一个人口,一个地球。然后,程序将该人口与原始人口分开,然后将其平均分成三个类别和所有区域。 毕竟,它将导出新数据的新文件。
总流行度除以用户给出的原始数量之外的人口数量,将给出每个地区的所有三个类别的人口需要减少多少的比率。就像你输入的人口是今天的一半,它会使所有人口减少50%。无论什么方式都能完成工作。
答案 0 :(得分:0)
您可以在读取时过滤csv以仅保存所需的数据。当您浏览这些线时,您还可以计算相关数据,例如总区域人口。
完成后,您将拥有一个表格,您可以在其中迭代行或对[row][col]
指标进行计算。
region_table = []
with open("REGION.csv", "r") as csv_file:
csv_reader = csv.DictReader(csv_file)
for row in csv_reader:
# filter interesting columns cast to proper data type
converted = [row["REGION_ID"], int(row["POPULATION_15"]),
int(row["POPULATION_15_65"]), int(row["POPULATION_65"])]
# sum the various populations into a grand total
converted.append(sum(converted[1:4]))
region_table.append(converted)
total_population = sum(row[4] for row in region_table)