当前位置: 首页 > article >正文

Python 将数据写入 excel(新手入门)

一、场景分析

假设有如下一组列表数据:

写一段 python脚本 将这组数据写入一个新建的 excel,表头是 【序号】、【姓名】、【性别】、【年龄】

student_list = [{'name':'小林', 'gender':'男', 'age':10}, {'name':'小红', 'gender':'女', 'age':11}, {'name':'小王', 'gender':'男', 'age':10}]

最终表格如下:

二、新建 excel 的数据写入

1、安装 openpyxl 库

在 Python 中可以使用 openpyxl 库来向 Excel 文件写入数据。

pip install openpyxl

 2、脚本

excel_write.py 如下:

from openpyxl import Workbook

# 创建一个新的工作簿
wb = Workbook()
# 选择默认的活动工作表
ws = wb.active

# 数据准备
student_list = [{'name':'小林', 'gender':'男', 'age':10}, {'name':'小红', 'gender':'女', 'age':11}, {'name':'小王', 'gender':'男', 'age':10}]

# 向工作表中写入表头
ws['A1'] = '序号'
ws['B1'] = '姓名'
ws['C1'] = '性别'
ws['D1'] = '年龄'

for i, item in enumerate(student_list):
        temp_list = [str(i+1)]
        print(item)
        temp_list.append(item['name']) 
        temp_list.append(item['gender'])
        temp_list.append(item['age'])
        # 在已有数据的基础上继续写入,接收列表数据,如 [1, '小林', '男', 10]
        ws.append(temp_list)

# 保存工作簿
wb.save('output.xlsx')

在上述代码中:

这段代码特别适合于从网页爬下来列表数据,写入 excel,适合 "表哥表姐" 们的日常数据处理。 

1、首先导入Workbook类。
2、创建一个新的工作簿对象wb。
3、获取默认的活动工作表ws。
4、使用类似字典的方式指定单元格的位置并为其赋表头。
5、遍历列表数据,按行输出。
6、最后使用 save()方法保存工作簿到指定的文件。

 3、运行

py excel_write.py

4、结果

三、已存在的 excel 的数据写入

假设有如下一个已存在的 student.xlsx:

如何将 student_list = [{'name':'小林', 'gender':'男', 'age':10}, {'name':'小红', 'gender':'女', 'age':11}, {'name':'小王', 'gender':'男', 'age':10}] 这组数据写进入呢?

1、脚本

student_write.py 如下:

from openpyxl import load_workbook

# 打开已有的工作簿
wb = load_workbook('student.xlsx')
# 选择默认的活动工作表
ws = wb.active

# 数据准备
student_list = [{'name':'小林', 'gender':'男', 'age':10}, {'name':'小红', 'gender':'女', 'age':11}, {'name':'小王', 'gender':'男', 'age':10}]

# 从第二行开始追加,跳过表头
next_row = 2

for i, item in enumerate(student_list):
        ws.cell(row=next_row, column=1, value=str(i+1))
        ws.cell(row=next_row, column=2, value=item['name'])   
        ws.cell(row=next_row, column=3, value=item['gender'])   
        ws.cell(row=next_row, column=4, value=item['age'])
        next_row += 1

# 保存工作簿
wb.save('student.xlsx')

 这段脚本就比较适合复杂格式模板的数据写入

ws.cell 表示给单元格设置数据

row: excel 行,从1开始

column: excel 列,从1开始

2、运行

py student_write.py

3、结果

四、读取 excel 数据到 list(解析 excel)

假设有如下 student.xlsx 表格,读取数据到 list [{'name': XX, 'gender': '', 'age': ''}]里面:

1、安装 pandas 库

在 Python 中可以使用 pandas 库来解析 Excel 文件。

pip install pandas

注意:

由于 pandas 库依赖 openpyxl 库,所以需要先安装 openpyxl,否则会报错:

2、脚本

 excel_read.py:

import pandas as pd

# 菜鸟教程:https://www.runoob.com/pandas/pandas-dataframe.html

# 输入文档
input_path=r"C:\Users\Administrator\Desktop\py\excel\student.xlsx"

# 读取 Excel 文件,将其存储在一个DataFrame对象中
df = pd.read_excel(input_path)

# 查看数据的前几行
# print(df.head())

# 显示数据的行数和列数,元组类型,(3, 4) 第一个是行,第二个是列
# print(df.shape)
# 显示行数
# print(df.shape[0])
# 行数
rows = df.shape[0]

student_list = []
# 遍历每一行
for  i  in range(0, rows):
     item = {}
     item['name'] = df.loc[i, '姓名']
     item['gender'] = df.loc[i, '性别']
     item['age'] = int(df.loc[i, '年龄'])
     student_list.append(item)

print(student_list)

 df.loc[row_index, column_name] 

通过标签选择数据;

row_index:行索引,从0开始。

column_name:列名。

 3、运行

py excel_read.py

4、结果

五、拥抱AI

AI 对于脚本语言的学习能力是最强的,这种简单的代码,完全可以叫AI帮我们写:


http://www.kler.cn/a/320343.html

相关文章:

  • Android CPU核分配关联进程
  • ASP.NET MVC宠物商城系统
  • 使用 GoZero 实现读取绩效表格 Excel 并打分
  • 在Qt(以及C++)中, 和 * 是两个至关重要的符号--【雨露均沾】
  • 机器学习(1)
  • 「Mac玩转仓颉内测版14」PTA刷题篇5 - L1-005 考试座位号
  • x-cmd pkg | eza - ls 命令的现代替代品,终端用户必备工具
  • HTML和CSS中的浮动以及边框塌陷解决方案(内置练习及答案)
  • 前端框架对比、分析与选择
  • linux 下域名解析错误
  • 计算机毕业设计Hadoop+Spark知识图谱美团美食推荐系统 美团餐厅推荐系统 美团推荐系统 美食价格预测 美团爬虫 美食数据分析 美食可视化大屏
  • Linux中使用Docker容器构建Tomcat容器完整教程
  • 【计算机网络 - 基础问题】每日 3 题(二十四)
  • 神经网络(三):VGG16
  • 如何在 Apache 中仅开启 TLS 1.3 / TLS1.2 ?
  • FinalShell 和 FileZilla 的区别
  • 桌面专业版【ssh配置】
  • 三十种编程语言庆祝【国庆节】!!!
  • 要不要入行大模型算法啊?
  • 怎么ping自己电脑的ip地址
  • 电容笔最建议买哪一款?超新平替电容笔测评推荐,2024必入榜产品
  • 大疆会搞微单相机吗,直接和索尼、佳能、尼康竞争?
  • Redis 高级应用指南
  • JMeter与大模型融合应用之JMeter日志自动检测错误并机器人发送钉钉信息
  • 计算机毕业设计之:资源共享平台的研究和实现(源码+文档+讲解)
  • 最新程序开发IDE工具——Melty