精华内容
下载资源
问答
  • 准备工作 ...3.再对每一个excel文件进行操作(我求的是某一列数据的平均值) 代码实现 import xlrd import os classes = [] classes_name = [] classes_mark = [] origin_address = r"E:\py\marks\mar

    准备工作

    完成这项工程需要用到os库与xlrd库

    其详细介绍可以参考这两篇博客:

    os库篇

    xlrd库篇

    思路

    1.先把excel文件都放入一个文件夹中

    2.再读取这个文件夹,把所有excel文件的地址 存到list中

    3.再对每一个excel文件进行操作(我求的是某一列数据的平均值)

    代码实现

    import xlrd
    import os
    
    classes = []
    classes_name = []
    classes_mark = []
    origin_address = r"E:\py\marks\mark"
    marks_dir = os.listdir(origin_address)
    for i in range(0, len(marks_dir)):
        mark_path = os.path.join(origin_address, marks_dir[i])
        if os.path.isfile(mark_path):
            classes.append(mark_path)
    
    doc = open("result.txt", "w")
    for i in range(0, len(classes)):
        classes_name.append(os.path.basename(classes[i])[:-5])  # 去掉后缀名
        
        now_class = xlrd.open_workbook(classes[i])
        now_sheet = now_class.sheets()[0]
        sheet_rows = now_sheet.nrows
        sheet_cols = now_sheet.ncols
        mark_sum = 0
        students_sum = sheet_rows - 7 
        for j in range(5, sheet_rows - 2): 
            mark_sum += now_sheet.row(j)[sheet_cols - 2].value
        classes_mark.append(mark_sum / students_sum)
        print(classes_name[i], ":", classes_mark[i], flie=doc)
    doc.close()
    
    
    展开全文
  • 入职选调生后,很少再写代码了,前一段时间组织部一位同事,让帮忙汇总300多个村党支部信息,如果手动操作,那当然很麻烦,作为学过python的人,其实很简单,下面的程序包含excel数据的读取和写入,希望可以帮助大家...

    入职选调生后,很少再写代码了,前一段时间组织部一位同事,让帮忙汇总300多个村党支部信息,如果手动操作,那当然很麻烦,作为学过python的人,其实很简单,下面的程序包含excel数据的读取和写入,希望可以帮助大家。在我看来,自动化办公是趋势,更是将来大力发扬的,愿工作越来越顺利。

    # coding:utf-8
    
    import os
    import xlrd
    import openpyxl
    import pandas as pd
    
    path = 'C:\\Users\\think\\Desktop\\3'
    path1 = r'C:\Users\think\Desktop\2\2.xlsx'
    file_name = os.listdir(path)
    h = []
    for file in file_name:
        data = xlrd.open_workbook(os.path.join(path + '\\' + file))
        # data = xlrd.open_workbook(path1+file_name[0])
        table = data.sheets()[0] #选取要读的sheet表单
        nrows = table.nrows
        print(nrows)
        j = []
        for i in range(nrows):
            if i == 5 or i == 9 or i == 13:
                # continue
                # str1 = [str(i) for i in table.row_values(i)]
                # print(str1)
                j = j + table.row_values(i)
                print(j)
        h.append(j)    
    wb = openpyxl.Workbook()
    ws = wb.active
    ws.title = '农村基本情况统计表'
    for r in range(len(h)):
        for c in range(len(h[0])):
            ws.cell(r + 1, c + 1).value = h[r][c]
    wb.save(path1) # 注意,写入后一定要保存
    print("成功写入文件: " + path1 + " !")
    
    展开全文
  • 1.模块安装: pip3 install xlrd==1.2.0 -i ... 2.对excel表格读取信息并print出来 import xlrd #读取表格 data=xlrd.open_workbook("某连锁超市运营数据.xlsx") #获取表格的sheets table=data.sheet

    今天有同学问能对excel表格的商业数据可视化吗?用python做?于是我就写了一篇关于这个问题的,欢迎交流学习。
    1.模块安装:

    pip3 install xlrd==1.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
    pip install pyecharts -i https://pypi.tuna.tsinghua.edu.cn/simple
    

    2.可视化代码

    import xlrd
    import numpy as np
    from pyecharts.charts import Bar
    from pyecharts.charts import Pie, Grid
    from pyecharts import options as opts
    
    if __name__ == "__main__":
        # 读取表格
        data = xlrd.open_workbook("某连锁超市运营数据.xlsx")
        # 获取表格的sheets
        table = data.sheets()[0]
        # 行
        rows = table.nrows
        print("xlsx行数:",rows)
        # 列
        cols = table.ncols
        print("xlsx列数:",cols)
        # 获取第一行数据
        row1data = table.row_values(0)
        print(row1data)  # 输出标题行
    
        #存储所有表格信息
        tables = []
        for rows in range(1, table.nrows):
            dict_ = {"Order id": "", "Order date": "", "Planned delivery days": "",
                     "Customer name": "", "Partition": "", "City": "",
                     "State / Province": "","Country": "","Area": "",
                     "Price": "","Number": "","Sales volume": "",
                     "Discount": "","Manager": "","Yes/No": ""}
            dict_["Order id"] = table.cell_value(rows, 0)
            dict_["Order date"] = table.cell_value(rows, 1)
            dict_["Planned delivery days"] = table.cell_value(rows, 2)
            dict_["Customer name"] = table.cell_value(rows, 3)
            dict_["Partition"] = table.cell_value(rows, 4)
            dict_["City"] = table.cell_value(rows, 5)
            dict_["State / Province"] = table.cell_value(rows, 6)
            dict_["Country"] = table.cell_value(rows, 7)
            dict_["Area"] = table.cell_value(rows, 8)
            dict_["Price"] = table.cell_value(rows, 9)
            dict_["Number"] = table.cell_value(rows, 10)
            dict_["Sales volume"] = table.cell_value(rows, 11)
            dict_["Discount"] = table.cell_value(rows, 12)
            dict_["Manager"] = table.cell_value(rows, 13)
            dict_["Yes/No"] = table.cell_value(rows, 14)
            tables.append(dict_)
    
    #关于是否退回与省份关系统计图
        # 存储所有城市信息list
        list_city=[]
        for city in tables:
            list_city.append(str(city['State / Province']))
        #去除重复的
        list_city_new=list(set(list_city))
        print("ok")
        print(list_city_new)
        print("城市数目:", len(list_city_new))#城市数目
        #list转tuple
        tuple_city=tuple(list_city_new)
        print("x轴:",tuple_city)
    
        #是否退订数据统计
        city_yes_no=np.zeros(len(list_city_new))
        print("city_yes_no:",city_yes_no)
    
        #将各个分段的数量统计
        for i in tables:
            # print(str(i["Yes/No"]))
            if str(i["Yes/No"])=="1.0":
                print(str(i["State / Province"]),str(i["Yes/No"]))
                print(list_city_new.index(i["State / Province"]))
                city_yes_no[list_city_new.index(i["State / Province"])]=city_yes_no[list_city_new.index(i["State / Province"])]+1
    
        #y
        print("city_yes_no处理完的数据:",city_yes_no)
        tuple_city_yes_no=tuple(city_yes_no)
        # 构建是否退回与省份关系柱状统计图
    
        c = (
            Pie(init_opts=opts.InitOpts(height="800px", width="1200px"))
                .add("是否退回与省份关系统计图",
                     [list(z) for z in zip(tuple_city, tuple_city_yes_no)],
                     center=["35%", "38%"],
                     radius="40%",
                     label_opts=opts.LabelOpts(
                         formatter="{b|{b}: }{c}  {per|{d}%}  ",
                         rich={
                             "b": {"fontSize": 16, "lineHeight": 33},
                             "per": {
                                 "color": "#eee",
                                 "backgroundColor": "#334455",
                                 "padding": [2, 4],
                                 "borderRadius": 2,
                             },
                         }
                     ))
                .set_global_opts(title_opts=opts.TitleOpts(title="是否退回与省份关系统计饼图"),
                                 legend_opts=opts.LegendOpts(pos_left="0%", pos_top="65%"))
                .render("./是否退回与省份关系统计饼图.html")
        )
    
    
    
    # 关于销售数量与省份关系统计图
        city_num = np.zeros(len(list_city_new))
        print("city_num:", city_num)
    
        # 将各个分段的数量统计
        for i in tables:
            # print(str(i["Number"]), str(i["State / Province"]))
            # print(list_city_new.index(i["State / Province"]))
            city_num[list_city_new.index(i["State / Province"])] = city_num[list_city_new.index(i["State / Province"])] + i["Number"]
    
        # y
        print("city_num处理完的数据:", city_num)
        tuple_city_num = tuple(city_num)
        # 构建销售数量与省份关系柱状统计图
    
        c = (
            Pie(init_opts=opts.InitOpts(height="800px", width="1200px"))
                .add("销售数量与省份关系统计图",
                     [list(z) for z in zip(tuple_city, tuple_city_num)],
                     center=["35%", "38%"],
                     radius="40%",
                     label_opts=opts.LabelOpts(
                         formatter="{b|{b}: }{c}  {per|{d}%}  ",
                         rich={
                             "b": {"fontSize": 16, "lineHeight": 33},
                             "per": {
                                 "color": "#eee",
                                 "backgroundColor": "#334455",
                                 "padding": [2, 4],
                                 "borderRadius": 2,
                             },
                         }
                     ))
                .set_global_opts(title_opts=opts.TitleOpts(title="销售数量与省份关系统计饼图"),
                                 legend_opts=opts.LegendOpts(pos_left="0%", pos_top="65%"))
                .render("./销售数量与省份关系统计饼图.html")
        )
    
    #销售经理与退回关系统计图
        # 存储所有销售经理信息list
        list_manager = []
        for manager in tables:
            list_manager.append(str(manager['Manager']))
        # 去除重复的
        list_manager_new = list(set(list_manager))
        print("ok2")
        print(list_manager_new)
        print("销售经理数目:", len(list_manager_new))  # 销售经理数目
        # list转tuple
        tuple_manager_new = tuple(list_manager_new)
        print("x轴:", tuple_manager_new)
    
        # 是否退订数据统计
        manager_yes_no = np.zeros(len(list_manager_new))
        print("manager_yes_no:", manager_yes_no)
    
        for i in tables:
            if str(i["Yes/No"]) == "1.0":
                print(str(i["Manager"]), str(i["Yes/No"]))
                print(list_manager_new.index(i["Manager"]))
                manager_yes_no[list_manager_new.index(i["Manager"])] = manager_yes_no[list_manager_new.index(i["Manager"])] + 1
    
        # y
        print("manager_yes_no处理完的数据:", manager_yes_no)
        tuple_manager_yes_no = tuple(manager_yes_no)
        # 构建是否退回与销售经理关系柱状统计图
        c = (
            Bar()
                .add_xaxis(tuple_manager_new)
                .add_yaxis("退回数量", tuple_manager_yes_no, color="#af00ff")
                .set_global_opts(title_opts=opts.TitleOpts(title="是否退回与销售经理关系统计图"))
                .render("./是否退回与销售经理关系统计图.html")
        )
    
    #销售经理与销售数量关系统计图
    
        # 销售数量统计
        num_add = np.zeros(len(list_manager_new))
        print("num_add:", num_add)
    
        for i in tables:
            # print(str(i["Number"]), str(i["Manager"]))
            # print(list_manager_new.index(i["Manager"]))
            num_add[list_manager_new.index(i["Manager"])] = num_add[list_manager_new.index(i["Manager"])] + float(i["Number"])
    
        # y
        print("num_add处理完的数据:", num_add)
        tuple_num_add = tuple(num_add)
        # 构建是否退回与销售经理关系柱状统计图
        c = (
            Bar()
                .add_xaxis(tuple_manager_new)
                .add_yaxis("数量", tuple_num_add, color="#af00ff")
                .set_global_opts(title_opts=opts.TitleOpts(title="销售经理与数量关系统计图"))
                .render("./销售经理与数量关系统计图.html")
        )
    

    3.结果图片
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    源码及数据:
    https://download.csdn.net/download/visual_eagle/63361689
    使用说明:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 如何用pythonexcel表格进行筛选

    千次阅读 2020-12-30 16:52:12
    ① 可以用def函数来定义要筛选的条件,直接在def函数后面加上条件即可.import pandas as pdwb=pd.read_excel('/Users/xinxing/Desktop/payrollmaster.xlsx',index_col='empid')print(wb)##读取数据def salary_0_to_...

    ① 可以用def函数来定义要筛选的条件,直接在def函数后面加上条件即可.

    import pandas as pd

    wb=pd.read_excel('/Users/xinxing/Desktop/payrollmaster.xlsx',index_col='empid')

    print(wb)##读取数据

    def salary_0_to_32000(a): ##用def定义筛选条件,工资小于32000

    return 0<=a<32000

    wb=wb.loc[wb['salary'].apply(salary_0_to_32000)];

    ##python筛选时用关键字loc,它会生成一个新的dataframe.

    ##wb['salary'].apply(salary的筛选条件).apply将salary列满足条件的值继续以列的形式保存下来

    print(wb)

    ② 也可以用lambda函数进行筛选

    wb=wb.loc[wb.salary.apply(lambda x:0<=x<32000)].loc[wb.bonus.apply(lambda x:32000<=x<40000)]

    ##此处定义了两个筛选条件

    展开全文
  • python统计excel某一列文本的词频 代码如下 # jieba库的使用以及csv库的使用 import jieba import csv txt = open("complaint.csv", 'rt', encoding='utf-8').read() # 读取所需要分析的文件内容 Excel = open...
  • 问题描述类似下面的excel表格,第一列为关键字,第二列为关键字出现的次数。统计每个关键字的总数目。譬如ab 是12+1, cd是13+2, ef是0。XlsxWriter的安装pip install XlsxWriter之后,python仍然可能提示找不到...
  • Python处理Excel数据

    2020-12-18 19:33:14
    基本的功能很简单,就是对excel里面的一些数据进行过滤,统计,对多个表的内容进行合并等。之前没有处理excel数据的经验,甚至于自己都很少用到excel。记得《python核心》的最后一章里有讲到用win32 com操作office,...
  • 统计Excel表格中的各省人口数量 表格到集合 读取Excel表格内容 人口统计 人口汇总
  • 一,要读取的数据的格式:二,数据读取部分:b站视频参考:https://www.bilibili.com/video/BV14C4y1W7Nj?t=148# 1930workbook=xlrd.open_workbook('1930.xlsx')sheet= workbook.sheet_by_index(0)A1=[]B1=[]# sheet....
  • 我们经常需要 导入数据到Excel、从Excel导出数据、对Excel中数据进行处理。 如果 要处理的数据量很大,人工操作非常费时间。 我们可以通过Python程序,自动化Excel的数据处理,帮我们节省大量的时间。 读取Excel中...
  • 在完成了前面系列的数据整理、数据清洗、数据提取与筛选之后,我们需要对进行进一步的汇总与统计使数据变成我们的可用信息。 1,数据分类汇总 # 对指定列分组后进行数量统计 data_inner.groupby('name').count() # ...
  • 公众号后台回复“图书“,了解更多号主新书内容 作者:小F 来源:法纳斯特 之前小F分享了不少关于Python自动化操作Excel的文章,大家都挺喜欢的。所以今天就带大家来实战一波,使用Py...
  • Excel表格数据如下: # -*- coding:utf-8 -*- import numpy as np from matplotlib import pyplot as plt import xlrd import xlwty filename = '统计当月流量剩余占比的平均值.xlsx' book_wind=xlrd.open_...
  • 今日给大家分享一个Python读取Excel表格,同时采用表格的数值画图柱状图和折线图,这里只需要几行代码便可以实。首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后直接在DOS命令下输入pip ...
  • Python版本:Python 3.6。 可视化开发环境:PyCharm 2017.3.3。 界面设计工具:Qt Designer Python内置模块:os、sys、glob、numpy。 第三方模块:PyQt5、pyqt5-tools、pandas、matplotlib、xlrd。 注意:在...
  • 'bar', 'foo1', 'foo2']).mean() > baz foo bar foo1 foo2 2 1 2 1 0.4 2 2 2 0.3 4 1 1 1 0.5 3 0.6 5 5 2 2 0.2 即使这不是你想要的,你仍然应该阅读Pandas的groupby,因为这绝对是解决方案的一部分。...
  • 目录第1章Python基础——学习Python必知必会11.1 什么是Python21.2 为什么要学习用Python处理Excel表格21.3 手把手教你安装Python21.3.1 下载Python31.3.2 安装Python41.3.3 验证是否安装成功91.4 安装Python集成...
  • 数据筛选: 根据实际需要输出筛选结果,或将筛选结果保存起来。总结起来可以分为三类: ① 将筛选的结果存入学过的数据结构里,比如:列表,元组或字典。 ② 将筛选的结果存入文件。 ③ 将筛选的结果打印出来。 ...
  • Python读取Excel表格,同时采用表格的数值画图柱状图和折线图,这里只需要几行代码便可以实。首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后直接在DOS命令下输入pip install xlrd,便可以安装...
  • 利用PythonExcel数据进行处理

    千次阅读 2021-07-07 21:29:58
    3.提起Excel表格中指定列数据; 4. 定向筛选所需数据; 5. 多表数据统计排行; 6.多表数据合并在文件夹内生成合并后的新excel表格。 2. 系统开发必备 2.1 系统开发环境 本系统的软件开发及运行环境具体如下: ...
  • #将excel列转化为python中的Series,即一维...data = pd.read_excel(r'C:/Users/Administrator/Desktop/data.xlsx') #读取excel表格数据 count = data['number'].value_counts()#number为表格列名 print(count) ...
  • Python处理excel表格

    2021-03-05 16:44:43
    工作遇见统计流量,只能把网页里的复制到excel表格里,看到表格里的数据无比的头疼,只能用万能的Python来解决(写的很简单又错误或者有更好方法可以指点指点):下载安装xlrd:tar zxvf xlrd-0.9.4.tar.gzcd xlrd-...
  • python统计一个文本重复行数的方法这篇文章主要介绍了python统计一个文本重复行数的方法,涉及针对Pythondict对象的使用及相关本文的操作,具有一定的借鉴价值,需要的朋友可以参考下比如有下面一个文件2312我们...
  • 读取excel文件,并找到重复的数据 df = pd.read_excel(r'project.xls',sheet_name='Sheet1') data = {} dupList = [k for k,v in df['title'].value_counts().to_dict().items() if v > 1] print(type(dupList...
  • df = pd.read_excel("excel文件.xlsx") print(df) print(df["X"]) # 显示中文 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.plot(df["日期"], df["X"], label='...
  • 前言Python数据清洗功能有多厉害,相信不用我说大家都知道了,寥寥几行代码便可以把一份杂乱无章的表格给处理的干干净净。但是python也是不容易入门的,毕竟编程语言要理解和精通也是要花不少功夫的,所以很多小...
  • 读取excel表格 df = pd.read_excel("data.xlsx") 第四步: 删除重复项 df1 = df.drop_duplicates() 第五步: 对缺失值进行填充 ,用实数0填充NAN df2 = df1.fillna(value=0) print(df2) 统计数量 area = df.loc[:

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,926
精华内容 10,370
关键字:

python统计excel中的数据

python 订阅