读取CSV文件并提取信息

2024-06-09 02:07:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手

我已经学会了如何导入CSV文件并读取它

然而,我很难理解如何提取特定数据

这是我读取数据的代码

import csv

try:
    with open ("books.csv", mode="r", encoding="utf-8")as file:
        csvFile = csv.reader(file)
    
    for row in csvFile:
        print (row)

except:
    print("file cannot be open")

finally:
  file.close()

然而,我的问题是,我写什么代码来生成频率报告(频率最低的第一个),顺便说一下,数据列表很长

此外,如果有人知道使用什么代码来查找最流行(最常用的项目)

还有什么代码可以生成一个报告,报告用户借用物品的平均时间长度、用户延迟归还的比例以及平均延迟时间


Tags: 文件csv数据csvfile代码用户报告open
2条回答

要做您想做的事情,您应该遵循以下步骤:

1-在循环中读取工作表中的行

2-在这个循环中,读取另一个循环中的每一行,然后从循环中的行中读取每一项,然后检查它是否为空格字符,然后将项添加到容器、列表中

3-在列表中的每个元素中创建一个循环,并计算它在列表中重复的次数,然后将该元素和它在字典中的重复次数相加

4-在dict中找到最大值,然后在字典中找到该值的键

import csv
repeated = {}
list_all = []
try:
    with open ("bb.csv", mode="r", encoding="utf-8")as file:
        csvFile = csv.reader(file)
        for row in csvFile:
            for dat in row:
                for y in dat:
                    if y != " ":
                        list_all.append(y)
    for dat in list_all:
        counter = list_all.count(dat)
        repeated[dat] = counter
    
    max_val = (max(repeated.values()))
    for key,value in repeated.items():
        if value == max_val:
            print("the max item is: {}, and was repeated: {} times".format(key,max_val))
except:
    print("file cannot be open")

finally:
    file.close()

为了管理来自csv文件的数据提交,它本质上是一种存储双向表数据的方法,我建议您使用非常流行的名为"pandas"的库

它允许您以这种“形式因素”表示数据,并具有内置类,可将数据从csv加载/保存到csv以及许多其他流行的文件格式(excel工作表、hd5、pickle、拼花地板、羽毛…等等)

Here is a link到一个网站,该网站解释如何使用熊猫从csv文件加载数据

然后,使用panda对象,可以对列或行执行.mean(分别使用panda_data.mean(axis=0)panda_data.mean(axis=1)沿列或行执行平均值)

您还可以使用许多有用的方法来查找表中数据的出现次数、特定项的频率等。您可以很容易地找到线程,这些线程使用panda对象、堆栈溢出或其他方式处理您提到的每个特定应用程序

相关问题 更多 >