python统计excel数据-Python-Office: Python统计Excel里面的数据

问题描述

类似下面的excel表格,第一列为关键字,第二列为关键字出现的次数。统计每个关键字的总数目。

譬如ab 是12+1, cd是13+2, ef是0。

XlsxWriter的安装

pip install XlsxWriter之后,python仍然可能提示找不到XlsxWriter。这个时候可以尝试下面的方法安装:

$ git clone https://github.com/jmcnamara/XlsxWriter.git

$ cd XlsxWriter

$ python setup.py install

Dict的操作

首次往Dict里面某个关键字写入数据的时候,要用setdefault。后面更新内容就可以summaryDict[v.Value][0]了。

源代码

import win32com.client

import json

import xlsxwriter

app = win32com.client.Dispatch("Excel.Application")

s = app.ActiveWorkbook.Sheets(1)

def saveToTxte(dict):

with open("file.txt", "w") as file:

file.write(json.dumps(dict))

#https://stackoverflow.com/questions/23113231/write-dictionary-values-in-an-excel-file

def saveToExcel(dict):

workbook = xlsxwriter.Workbook("data.xlsx")

worksheet = workbook.add_worksheet()

row = 0

col = 0

for key in dict.keys():

row += 1

col = 0

worksheet.write(row, col, key)

for item in dict[key]:

worksheet.write(row, col + 1, item)

col += 1

workbook.close()

def readExcel():

i = 0

summaryDict = {}

for v in s.Range("B1:B20"):

i = i+1

if v.Value in summaryDict:

summaryDict[v.Value][0] = str(int(summaryDict[v.Value][0])+1)

summaryDict[v.Value][1] = str(int(summaryDict[v.Value][1])+int(s.Range("C"+str(i)).Value))

else:

print v.Value

summaryDict.setdefault(v.Value,[]).append(str(1))

summaryDict.setdefault(v.Value,[]).append(str(int(s.Range("C"+str(i)).Value)))

print(summaryDict)

saveToExcel(summaryDict)

def main():

readExcel()

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值