提问人:M B 提问时间:8/1/2023 更新时间:8/1/2023 访问量:30
编写一个 python 函数,该函数从 csv 文件中读取内容,执行一些计算,然后将结果输出到单独 html 页面上的 html 表中
Write a python function that reads content from a csv file performs some calculations then outputs the results in a html table on a seperate html page
问:
我必须对 CSV 文件中的每一列数据执行计算。我计划将文件作为字典读取,以便标头是键,并且每列数据都成为其各自键下的值。我目前有几行代码将键存储为列表和一个代码字符串,如果我指定和索引关键列表,则使用 .get() 函数仅输出该键的值。我目前的问题是如何遍历每个键,以便它一次对其所有值执行统计操作,然后移动到下一个键。我还没有尝试过项目的 HTML 方面,但我假设如果同时完成每列的计算,我可以将其存储在其单元格中,然后,当它移动到以下键以开始对数据进行计算时,将编写代码,以便。它将存储分析,并将向前移动一个单元格。该项目只允许我导入 CSV。代码在下面的下一节中。
当前代码:
def hehehe(file: str, html_file: str, title: str = None):
with open(file, 'r') as cal_file:
reader = csv.DictReader(cal_file)
grouped_data = {}
for i in reader:
# this code call on each key individually so that I can get the collective values of each key separately when i put a braket and a number in the bracket
keys = list(i.keys())
# what is inside this print outputs the value of each column depending on what the key is
calc = i.get(keys)
print(i.get(keys))
答:
1赞
Barmar
8/1/2023
#1
我认为您要做的是将每一列放入 .grouped_data
def hehehe(file: str, html_file: str, title: str = None):
grouped_data = {}
with open(file, 'r') as cal_file:
reader = csv.DictReader(cal_file)
for i in reader:
for k, v in i.items():
grouped_data.setdefault(k, []).append(v)
keys = list(grouped_data.keys())
# now you can get keys from `keys`, and use grouped_data[key] to get a list of all the values of that key
评论
i.get(keys)
没有意义。参数 to 必须是单个键。i.get()