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

python处理excel文件

 因为懂你,所以永恒!

--python

 如果你也和我一样,想通过python处理excel文件。那这篇文章基本上可以满足你的需要。代码中的文件路径可以自己修改!

from openpyxl import Workbook
from openpyxl.utils import get_column_letter
from openpyxl.styles import Alignment
from openpyxl.styles import Font
import pandas as pd
import os

# 创建新工作簿
wb = Workbook()
ws = wb.active
ws.title = "Component List"

# 设置字体
ws.font = Font(name='Arial', size=12, bold=True, color='FF0000')

# 设置列宽    (可选) 
for col in range(1, 8):     # 设置前7列
    letter = get_column_letter(col)
    ws.column_dimensions[letter].width = 30

# 定义表头
headers = ["Item", "Quantity", "Part Reference", "PCB", "电性件两套所", "考核板两套所", "现有采购"]
ws.append(headers)

# 添加数据行(示例):直接添加第二列到第七列的数据,第一列由计数器自动生成
data_rows = [
    [10-1,  "REF001", "PCB001", "Elec001", "Test001", "Purchase001"],
    [5-2,   "REF002", "PCB002", "Elec002", "Test002", "Purchase002"],
    [5-3,   "REF003", "PCB003", "Elec003", "Test003", "Purchase003"]
]

# 初始化计数器
item_counter = 1

# 逐行添加数据并动态生成 Item 列的值
for row in data_rows:
    full_row = [item_counter] + row   # 将 Item 列和其余列拼接在一起
    ws.append(full_row)
    item_counter += 1

left_alignment = Alignment(horizontal='left', vertical='center', wrap_text=True)
for row in ws.iter_rows( min_row=1, max_row=1):
    for cell in row:
        cell. alignment = left_alignment     # 应用对齐设置

# 保存文件
wb.save("Component_list.xlsx")
print("Component list has been created and saved as 'Component_list.xlsx'.")

# 读取文件     (可选)
df = pd.read_excel("D:/PyQt_Prj/Component_list.xlsx")

# 调整 DataFrame 的显示格式,使数据对齐并去除索引列
print(df.to_string(index=False))   # 去掉默认的索引列

vscode运行结果:

 

 生成的excel中内容如下:

 

Enjoy it!

 

http://www.dtcms.com/a/122049.html

相关文章:

  • 127.0.0.1本地环回地址(Loopback Address)
  • LeetCode 相交链表题解:双指针的精妙应用
  • 我的NISP二级之路-04
  • 系统分析师(二)--操作系统
  • CD24.【C++ Dev】类和对象(15)初始化列表(下)和对象隐式类型转换
  • 深入理解Spring是如何解决循环依赖的
  • [250409] GitHub Copilot 全面升级,推出AI代理模式,可支援MCP | Devin 2.0 发布
  • 数据库管理工具实战:IDEA 与 DBeaver 连接 TDengine(一)
  • Vue2-实现elementUI的select全选功能
  • 卷积神经网络(CNN)基础
  • MicroPython 开发ESP32应用教程 之 WIFI、BLE共用常见问题处理及中断处理函数注意事项
  • 基于视觉密码的加密二值图像可逆数据隐藏
  • 颠覆传统!复旦微软联合研发MagicMotion,重新定义图生视频可能性
  • 品牌出海新思路:TikTok Shop东南亚FACT经营矩阵实操指南
  • 游戏开发中 C#、Python 和 C++ 的比较
  • 六、继承(二)
  • JavaScript学习教程,从入门到精通,JavaScript 运算符及语法知识点详解(8)
  • 2025年Java无服务器架构实战:AWS Lambda与Spring Cloud Function深度整合
  • uniapp 打包 H5 向 打包的APP 使用 @dcloudio/uni-webview-js 传值
  • 数据结构实验4.3:利用队列实现杨辉三角的输出
  • BOTA六维力矩传感器在三层AI架构中的集成实践:从数据采集到力控闭环
  • 绿算技术团队受邀出席英伟达GTC2025大会丨重塑AI存储新范式
  • 【android bluetooth 框架分析 01】【关键线程 3】【bt_jni_thread 线程介绍】
  • MySQL多表查询实战指南:从SQL到XML映射的完整实现(2W+字深度解析)
  • [Windows] Gopeed-v1.7.0
  • HashMap、LinkedHashMap与TreeMap的核心特性与使用场景总结
  • Navicat 17 for Mac 数据库管理
  • C语言资源自动释放实现详解:基于GCC cleanup属性
  • Socket通信保护概论,Android系列
  • SAP-ABAP:SAP PO接口中System Landscape(SL Landscape Directory,SLD)作用详解