python统计文件某一列相同数据出现的个数并插入柱状图

您所在的位置:网站首页 excel表格数据怎么生成柱状图 python统计文件某一列相同数据出现的个数并插入柱状图

python统计文件某一列相同数据出现的个数并插入柱状图

2023-06-25 23:52| 来源: 网络整理| 查看: 265

import xlsxwriter import csv import pandas as pd from collections import Counter import numpy import time

# 新建一个表格,并添加表及柱状图

def generate_excel(dic):     workbook = xlsxwriter.Workbook('Books score statistics.xlsx')     worksheet = workbook.add_worksheet('statistics')     # 设定格式,等号左边格式名称自定义,字典中格式为指定选项     # bold:加粗,num_format:数字格式     bold_format = workbook.add_format({'bold': True})

    # 将二行二列设置宽度为15(从0开始)     worksheet.set_column(1, 1, 15)

    # 用符号标记位置,例如:A列1行     worksheet.write('A1', '评分', bold_format)     worksheet.write('B1', '个数', bold_format)     row = 1     col = 0     for item in (dic):         # 使用write_number方法,指定数据格式写入数据         worksheet.write_number(row, col, float(item['Book score']))         worksheet.write_number(row, col + 1, int(item['Quantity']))         row += 1

    # --------生成图表并插入到excel---------------     # 创建一个柱状图(column chart)     chart_col = workbook.add_chart({'type': 'column'})

    # 配置系列数据     chart_col.add_series({         'name': '=statistics!$B$1',         'categories': '=statistics!$A$2:$A$7',         'values': '=statistics!$B$2:$B$7',         'line': {'color': 'red'},     })     # 设置图表的title 和 x,y轴信息     chart_col.set_title({'name': 'Books score statistics'})     chart_col.set_x_axis({'name': 'Book score'})     chart_col.set_y_axis({'name': 'Quantity (piece)'})

    # 设置图表的风格     chart_col.set_style(11)

    # 把图表插入到worksheet以及偏移     worksheet.insert_chart('A15', chart_col, {'x_offset': 25, 'y_offset': 10})

    workbook.close()

if __name__ == '__main__':     # 访问文件     with open('f:/python_document/豆瓣读书TOP250.csv', 'r', encoding='utf-8') as csvfile:         reader = csv.reader(csvfile)         column1 = [row[3] for row in reader] #统计文件中的第三列数据         #print(column1)     # 统计评分个数     result = {}     for i in set(column1):         result[i] = column1.count(i)     del result['评分']     data = result     #print(data)     # 新建列表储存图书信息Book score和Quantity信息     bookdic = []     for key in data:         bookdata = {"Book score": key, "Quantity": data[key]}         bookdic.append(bookdata)     print(bookdic)     #调用函数     generate_excel(bookdic)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3