我想打印列中的特定名称及其csv数据
例如:
[**Joseph**, 1923, **503**]
[Josephine, 1945, 1301]
[Josephina, 1952, 66]
[**Joseph**, 1999, **3498**]
我只想得到Joseph和第2行的总数,但我还不能使用Panda
该输出应如下所示:
约瑟夫:4001
但是它却显示了所有与Joseph有关的名字,比如Josephine
这是我的代码:
import csv,
import itertools,
import operator
levelgetter = operator.itemgetter(0)
col2sumgetter =operator.itemgetter(2)
baby_name = input("Enter the first name to analyze: ")
with open("baby_names.csv", "r") as file:
reader = csv.reader(file)
name = lambda row: levelgetter(row)
sorted_rows = sorted(reader, key=name)
for level, group in itertools.groupby(sorted_rows, key=name):
if baby_name in level:
total = sum(int(col2sumgetter(row)) for row in group)
print(level, total)
假设您有一个csv文件
file.csv
,就像这样您可以使用以下代码通过
csv.DictReader
获得所需的内容要获得总计,只需执行
res.values()
,这将打印没有名称的总计相关问题 更多 >
编程相关推荐