Python 求和 excel 文件

2024-04-10

我有一个包含 3 列的 Excel 文件。
请举例如下

Name      Produce     Number
Adam      oranges     6
bob       Apples      5
Adam      Apples      4
steve     Peppers     7
bob       Peppers     16
Adam      oranges     5

我需要以这种方式在 python 中生成总和

Name      Produce     Number
Adam      oranges     11
bob       apples      5
steve     peppers     7
etc

我是Python新手,想弄清楚如何编写每个人总计的输出?有没有一种简单的方法可以从Excel中收集这些数据?


这是它的代码:

如果您有任何疑问(或者我犯了任何错误),请务必查看评论并发回此处

import csv

file  = open('names.csv', "rb") #Open CSV File in Read Mode
reader = csv.reader(file)      #Create reader object which iterates over lines

class Object:                   #Object to store unique data
    def __init__(self, name, produce, amount):
        self.name = name
        self.produce = produce
        self.amount = amount

rownum = 0 #Row Number currently iterating over
list = []  #List to store objects

def checkList(name, produce, amount):

    for object in list:  #Iterate through list        
        if object.name == name and object.produce == produce:  #Check if name and produce combination exists
            object.amount += int(amount) #If it does add to amount variable and break out
            return

    newObject = Object(name, produce, int(amount)) #Create a new object with new name, produce, and amount
    list.append(newObject)  #Add to list and break out


for row in reader:  #Iterate through all the rows
    if rownum == 0:  #Store header row seperately to not get confused
        header = row
    else:
        name = row[0]  #Store name
        produce = row[1]  #Store produce
        amount = row[2]  #Store amount

        if len(list) == 0:  #Default case if list = 0
            newObject = Object(name, produce, int(amount))
            list.append(newObject)
        else:  #If not...
            checkList(name, produce, amount)


rownum += 1

for each in list: #Print out result
    print each.name, each.produce, each.amount

file.close() #Close file
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 求和 excel 文件 的相关文章

随机推荐

  • ColdFusion Twitter API 错误请求

    我正在开展一个项目 涉及抓取 Twitter 数据信息 解析它并将其显示在我们的网站上以用于管理目的 我们还在考虑通过与 Twitter REST API 联锁的 Web 界面发布推文或更新 但首先 我想做简单的 GET 我正在尝试通过 d
  • 如何为缩略图悬停添加标题 - Bootstrap?

    我正在尝试使用这个缩略图悬停标题插件进行引导 http sevenx de demo bootstrap thumbnail hover caption html http sevenx de demo bootstrap thumbnai
  • CIImage 的 PNG/JPEG 表示形式始终返回 nil

    我目前正在制作一个照片编辑应用程序 当用户选择照片时 会使用以下代码自动将其转换为黑白 func blackWhiteImage image UIImage gt Data print Starting black white let or
  • 从信号处理程序返回而不进入内核+用户空间中断

    这是我的旧问题的后续 通过 setcontext 从信号处理程序返回 https stackoverflow com questions 69237910 returning from a signal handler via setcon
  • Web API 2 会话

    我无法从 web api 2 中获取会话数据 我已经验证 cookie 是在 fiddler 中发送的 我知道 Web api 2 的最佳实践是无状态 但由于项目的要求 现在有必要是全状态的 我已经尝试过这个链接 WebAPI 2 属性路由
  • Javascript:相当于 PHP 的 hash_hmac() 与原始二进制输出?

    我正在连接到亚马逊产品广告 API 要签署我的请求 我需要对原始二进制文件HMAC SHA256 哈希的输出 In hash hmac 的 PHP 文档 http php net manual en function hash hmac p
  • 将数据库返回的浮点值舍入为“正确”值

    我有一个数据库列 其中包含 由于某种原因在一段时间内丢失 浮点值 因此 有人用一些小值 比如 0 00025 填充数据库表 当我运行报告时 我实际上得到了 0 000249999999 或者类似的值 因为无法表示输入的值 有没有可靠的方法来
  • R Plotly - 更改悬停信息的字体和不透明度

    我正在尝试更改绘图图中悬停信息框的字体和不透明度 使用 R 我使用了以下代码 但无法弄清楚如何更改悬停框的字体或不透明度 如果这可能的话 plotC lt plot ly tg x FINPERCH y JourneyTime type s
  • 如何自动创建 AWS EB 实例到 VPC 的经典链接

    我在 EB 上有一个经典应用程序 需要连接到 VPC 中的 RDS 我可以通过进入 EC2 实例 操作 ClassicLink 链接到 VPC 来手动配置 EB 实例以允许经典链接到 VPC 一旦我这样做了 一切都很好 但是如果没有手动干预
  • Netbeans 7.1.1 中的增强

    尝试运行以下命令 include
  • 检查 PHP 日期时间戳是否正确?

    有没有办法检查 PHP 中的日期时间戳是否正确 我目前正在使用yyyy mm dd hh mm ss在 MySQL 中 并希望确保当用户以与正确格式匹配的形式提供日期 时间戳时 直到有人提供了良好的 无错误 有效的 checkdate 示例
  • 按顺序对要上传的文件列表进行排序

    我的目标是让 python 使用 telegram upload 按升序将文件从设置的目录上传到 telegram 我的脚本似乎无法按顺序上传 它以随机顺序上传文件 我用过sorted功能无济于事 查看我的脚本 您可以看到我尝试过的一些事情
  • XercesDOMParser 和 XInclusion

    我试图让 xincludes 在现有系统中工作 该系统使用 xercesc 中的 XercesDOMParser 来解析来自客户端的传入 xml 我正在使用 Apache Xercesc v3 0 1 从输入流读取的传入 XML 是
  • JQuery 自动完成,结果是链接

    我正在尝试创建一个 JQuery 自动完成框 其中建议自动完成的单词是链接 类似于 Facebook 或 Quora 上发生的情况 基本上 我希望自动完成结果下拉 并且我希望人们能够单击它们并导航到不同的页面 这是我当前使用的代码
  • cURL 中的“c”代表什么?

    我知道 cURL 是一个命令行实用程序 可让您发送 HTTP 请求 但 c 代表什么 从他们的网站 cURL 是项目的名称 这个名字是 Client for URLs 最初 URL 拼写为大写 以使其显而易见 处理 URL 事实上它也可以发
  • 更高级别的 Python GUI 工具包,例如为 TreeView/Grid 传递字典

    使用 PyGTK 启动了我的第一个 Python pet 项目 虽然它是一个非常强大的 GUI 工具包并且看起来很棒 但我还是有一些烦恼 所以我考虑转向其他东西 因为它还不太广泛 环顾四周SO https stackoverflow com
  • 使用 openat 重新打开目录

    看起来 可以使用openat to re打开一个已经打开的目录 例如 在我的 Linux 系统上我可以执行以下操作 define GNU SOURCE include
  • 服务器和本地之间的 Mercurial?

    我正在进行一个门户开发工作 我有时会遇到一些麻烦 例如丢失 覆盖错误的文件等 所以我决定使用 Mercurial 来进行此开发 我第一次使用源代码管理的经历 我在这个项目的服务器 bluehost 上工作 有什么办法可以在本地保存更新备份吗
  • 跨线程Winforms控件编辑[重复]

    这个问题在这里已经有答案了 如果编辑文本的代码 属于 与包含 Windows 窗体的线程不同的线程 如何编辑 Windows 窗体元素中的文本 我得到了例外 跨线程操作无效 控制 textBox1 是从创建它的线程以外的线程访问的 谢谢 您
  • Python 求和 excel 文件

    我有一个包含 3 列的 Excel 文件 请举例如下 Name Produce Number Adam oranges 6 bob Apples 5 Adam Apples 4 steve Peppers 7 bob Peppers 16