首页 > 解决方案 > 如何在 Python 中使用 While 循环分析 CSV 文件数据

问题描述

我试图弄清楚如何在 Python 中启动一个遍历 csv 文件的循环。我相信这将是一个while循环(不能使用 pandas 来完成这项任务),但我不知道如何开始。该文件来自 Kaggle - 分析来自 Reddit 的页面试图获得以下信息:

所有帖子的平均评论数 所有帖子的平均分数 最高分是多少以及该帖子的标题 最低分是多少以及该帖子的标题 评论最多的帖子是什么以及其标题和评论数

这是我到目前为止导入文件的内容:

import csv  #import csv file reddit_vm.csv

def analyze(entries):
    print(f'first entry: {entries[0]}')

with open("reddit_vm.csv", "r", encoding='UTF-8', errors="ignore") as input:
    entries = [(e['id'], int(e['score']), int(e['comms_num']), e['title']) for e in csv.DictReader(input)]
    avgScore = analyze(entries)

这就是我认为我需要做的:

伪代码:

需要一个变量来控制循环读取行while循环

平均所有帖子的评论数

所有帖子的平均分

最高分的最大变量和打印标题最低分的最小变量

大多数评论

标签: pythoncsvwhile-loop

解决方案


我强烈建议您为此使用熊猫。这些是基本操作:

import pandas as pd

df = pd.read_csv("filename.csv") #read csv file
print(df['comms_num'].mean()) # print mean number of comments, assuming they are integers
print(df['score'].mean()) # print score mean
df.sort_values('score', ascending=False).head(10) #sort the dataframe by score and display the first 10 rows

推荐阅读