Python 实现 excel 数据过滤

一、场景分析

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

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

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

小林书店福州店1

小林书店福州店2

二、依赖安装

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

bash 复制代码
pip install pandas

三、代码实现

python 复制代码
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')

四、运行

python 复制代码
py shop_filter.py

五、扩展阅读

更多关于 python 操作 excel 的内容可以看我的 博文

相关推荐
m0_748554816 小时前
golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结
jvm·数据库·python
smj2302_796826527 小时前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode
阿正呀7 小时前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
2501_901200537 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
_.Switch8 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
Mr_sst8 小时前
Claude Code 部署与使用保姆级教程(2026 最新)
python·ai
瞎某某Blinder8 小时前
DFT学习记录[6]基于 HES06的能带计算+有效质量计算
python·学习·程序人生·数据挖掘·云计算·学习方法
m0_495496418 小时前
mysql处理复杂SQL性能_InnoDB优化器与MyISAM差异
jvm·数据库·python
forEverPlume9 小时前
PHP怎么使用Eloquent Attribute Composition属性组合_Laravel通过组合构建复杂属性【方法】
jvm·数据库·python
Aleeeeex9 小时前
RAG 那点事:从 8 份企业文档到能用的问答系统,全过程拆给你看
人工智能·python·ai编程