当前位置: 代码网 > it编程>前端脚本>Python > Python实现Excel数据过滤

Python实现Excel数据过滤

2024年10月24日 Python 我要评论
一、场景分析假设有如下一份 excel 数据 shop.xlsx, 写一段 python 程序,实现对于车牌的分组数据过滤。并以车牌为文件名,把店名输出到 车牌.txt 文件中。比如 闽a.txt 文

一、场景分析

假设有如下一份 excel 数据 shop.xlsx, 写一段 python 程序,实现对于车牌的分组数据过滤。

并以车牌为文件名,把店名输出到 车牌.txt 文件中。

比如 闽a.txt 文件内容为:

小林书店福州店1
小林书店福州店2 

二、依赖安装

程序依赖 pandas 对 excel 数据进行处理,所以需要先安装一下 pandas 依赖。

pip install pandas

三、代码实现

import pandas as pd
 
# pandas 菜鸟教程
# https://www.runoob.com/pandas/pandas-dataframe.html
 
# 输入文档
input_path = r"c:\users\administrator\desktop\py\excel\filter\shop.xlsx"
 
# 读取 excel 文件,将其存储在一个dataframe对象中
df = pd.read_excel(input_path)
# 行数,注意这个行数是数据行数,标题不算
rows = df.shape[0]
# 最终的数据结果是,{ '闽a':[], '闽b':[], '闽c':[]  }
result = {}
 
# 根据 车牌号,获取店名
for  i  in range(0, rows):
     # df.loc[ idx, 'column1'] 
     # idx : 行标,从 0 开始,0 是数据行的第一行,即 excel 的第二行
     carno = df.loc[i, '车牌']
     print( carno )
     shopname = df.loc[i, '店名']
     print( shopname )
     # 以 carno 为 key 从字典中获取值列表,没有返回 none,避免 keyerror
     value_list = result.get(carno, none)
     if value_list:
          value_list.append(shopname)
     else:
          value_list = []
          value_list.append(shopname)
          result[ carno ] = value_list
 
print( result )
# 根据 carno, 生成 txt, 内容是 店名
# 遍历 key 列表
for key in result.keys():
     value_list = result.get(key)
     output_path = key+'.txt'
     # 以 write 的方式打开输出文件
     with open( output_path, 'w', encoding='utf-8') as file:
            num = len( value_list ) 
            end = num - 1
            for i, item in enumerate(value_list):
                 # 最后一行数据不需要换行
                 if i == end:
                     file.write(item)                         
                 else:
                     file.write(item + '\n')

四、运行

py shop_filter.py

 

到此这篇关于python实现excel数据过滤的文章就介绍到这了,更多相关python excel数据过滤内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com