Python操作excel基础
前言
- 导航页--数字IC设计SOC入门进阶
基于自己实际工作使用情况,做下面学习记录和整理。
python 数据类型转换语法str( ) 可以把其他类型数据转化为字符串类型
int( ) 可以把其他类型数据转化为整型
float( ) 可以把其他类型数据转化为浮点型
bool( ) 可以把其他类型数据转化为布尔类型
list( ) 可以把其他类型数据转化为列表类型
tuple( ) 可以把其他类型数据转化为元组类型
dict( ) 可以把其他类型数据转化为字典类型
set( ) 可以把其他类型数据转化为集合类型
正文
方式一:使用openpyxl库
import openpyxl
from openpyxl import Workbook#快捷键说明
#CTRL + / 快速注释掉选中区域代码#----------------------------第一部分----------------------------------------#
#1、rd excel,打开工作簿
wb = openpyxl.load_workbook('c:/Users/Desktop/ww.xlsx')#2、查看有哪些表单
#print(wb.sheetnames)#3、遍历表单,把表单名称打印处理
#for sheet in wb:
# print(sheet.title)#4、创建新的表单Sheet
mySheet = wb.create_sheet('mySheet')
#print(wb.sheetnames)#5、操作表单
sheet3 = wb.get_sheet_by_name('mySheet')
sheet1 = wb['Sheet1']#6、获取活跃表单
sheet_act = wb.active
#print(sheet_act)
#print(sheet_act['A1'])
#print(sheet_act['A1'].value)#打印单元格值#7、获取单元格行列坐标
c = sheet1['A1']
#print('Row{},Column{} is {}'.format(c.row,c.column,c.value))
#print('Cell{} is {}'.format(c.coordinate,c.value))#8、切片访问EXCEL文件指定区域单元格
#print(sheet1.cell(row=1,column=1))
#print(sheet1.cell(row=1,column=1).value)#切片访问方式一
#正序访问,row = 1 ,2
#for i in range(1,3):
# print(i,sheet1.cell(row=i,column=2).value)#倒序访问,row = 2 ,1
#for i in range(2,0,-1):
# print(i,sheet1.cell(row=i,column=2).value)#切片访问方式二
col_range = sheet1['A:B']
row_range = sheet1[1:2]# for col in col_range:
# for cell in col:
# print(cell.value)# for row in row_range:
# for cell in row:
# print(cell.value) #切片访问方式三
# for row in sheet1.iter_rows(min_row=1,max_row=2,max_col=2):
# for cell in row:
# print(cell.value)#切片访问方式四
# cell_range = sheet1['A1:C3']
# for row0fCell0bjects in cell_range:
# for cell0bj in row0fCell0bjects:
# print(cell0bj.coordinate,cell0bj.value)
# print('----------END OF ROW----------')#9、获取整列
#colC = sheet1['B']
#print(colC)
#print(colC[2].value) #打印该列第3行数值
#row6 = sheet1[6]#10、获取最大行列数值
print('{}*{}'.format(sheet1.max_row,sheet1.max_column))#----------------------------第二部分----------------------------------------#
import openpyxl
from openpyxl import Workbook#给单元格赋值,并保存
wb2 = openpyxl.load_workbook('c:/Users/oo/Desktop/uu.xlsx')
sheet = wb2['vv']
sheet['A1'] = 'Hello'
print(sheet['A1'].value)
wb2.save('c:/Users/oo/Desktop/uu.xlsx')#创建一个新的工作簿
#wb2 = openpyxl.Workbook()
#print(wb2)
#wb2.sheetnames#给工作表设置名称
# sheet = wb2.active
# sheet.title = 'vv'
# print(wb2.sheetnames)#保存工作簿
#wb2.save('c:/Users/oo/Desktop/uu.xlsx')#创建Sheet
# wb2 = openpyxl.load_workbook('c:/Users/oo/Desktop/uu.xlsx')
# wb2.create_sheet(title='WW')
# wb2.sheetnames#删除Sheet
# del wb2['WW']
# wb2.sheetnames
openpyxl库import openpyxl
from openpyxl import Workbook#1、rd excel
wb = openpyxl.load_workbook('c:/Users/Desktop/TT.xlsx')#2、get sheet
sheet=wb['Sheet1'] #excel文件中名称为'Sheet1'的sheet工作表#print(sheet['A1'].value) #打印单元格值
#sheet['A1'] = 20 #给单元格赋值
#print(sheet['A1'].value)#遍历指定区间单元格
for cell_data in sheet['F2':'F1690']: #获取单元格范围,赋值给cell_datafor cell in cell_data: #for循环遍历cell_datastr2 = '0x' + str(cell.value) #将cell转换成字符串#print(str2)cell.value = str2 #给单元格赋值print(cell.value)wb.save('c:/Users/oo/Desktop/vv.xlsx') 存储当前excel文件##############################################################
#知识储备#lower():所有字母小写
#capitalize():首字母大写,其他字母小写
#title():每个单词首字母大写,其他小写#单元格属性
#cell.value #单元格值
#cell.row #单元格行序号
#cell.column #单元格列序号
#cell.coordinate #单元格坐标#string.ljust(width) 返回一个原字符串左对齐,并使用(英文)空格填空至长度width的新字符串
#string.rjust(width) 返回一个原字符串右对齐,并使用(英文)空格填空至长度width的新字符串
#string.center(width) 返回一个原字符串居中,并使用(英文)空格填空至长度width的新字符串##############################################################
#0、导入数据库
import pandas as pd
import numpy as np
import openpyxl
from openpyxl import Workbook#1、rd excel
wb = openpyxl.load_workbook('c:/Desktop/list.xlsx')#2、get sheet
sheet=wb['interrupt_list'] #excel文件中名称为'interrupt_list'的sheet工作表#3、get strings
file = open('c:/Desktop/wt.h','w') #创建并打开文件wt.h,数据传递给file#指定单元格区间,开始遍历
for cell_data in sheet['C3':'C98']: #获取单元格范围,赋值给cell_datafor cell in cell_data: #for循环遍历cell_dataif cell.value == None: #如果单元格空print('empty') #打印else: #如果单元格不空str1 = cell.row -3 #str1 = 当前单元格行序号-3str1 = str(str1) #将int类型转换成字符串str1 = str1.rjust(3) #将str1字符串右对齐,不足的填充空格,处理后字符串位宽为3str1 = ('32+'+str1) #字符串拼接str1 = '('+str1+')' #字符串拼接str2 = 'INT_'+cell.value.upper() #字符串拼接 + 将单元格字符串转换成大写str2 = str2.ljust(30) #字符串左对齐str3 = '#define ' + str2+ str1 #字符串拼接print(str3) #打印file.write(str3) #文件写入file.write('\n') #回车
file.close() #关闭文件##############################################################
#知识储备#lower():所有字母小写
#capitalize():首字母大写,其他字母小写
#title():每个单词首字母大写,其他小写#单元格属性
#cell.value #单元格值
#cell.row #单元格行序号
#cell.column #单元格列序号
#cell.coordinate #单元格坐标#string.ljust(width) 返回一个原字符串左对齐,并使用(英文)空格填空至长度width的新字符串
#string.rjust(width) 返回一个原字符串右对齐,并使用(英文)空格填空至长度width的新字符串
#string.center(width) 返回一个原字符串居中,并使用(英文)空格填空至长度width的新字符串##############################################################
方式二:使用xlrd库
import sys,getopt,os,logging,pdb,re,xlrd,copy,time,math
#import openpyxl
#from openpyxl import Workbook#1、rd excel
#wb = openpyxl.load_workbook('c:/Desktop/list.xlsx')
wb =xlrd.open_workbook('c:/Desktop/list.xlsx')#2、get sheet
#sheet=wb['interrupt_list'] #excel文件中名称为'interrupt_list'的sheet工作表
sheet=wb.sheet_by_name('interrupt_list')title_str = '//============================ define digital Decimal ============================'
file = open('c:/Desktop/irq.h','w') #创建并打开文件wt.h,数据传递给file
file.write(title_str) #文件写入
file.write('\n') #回车#3、get strings
for col in range(2, 3):for row in range(2,98):if sheet.cell_value(row,col) =='': #如果单元格空print('empty') #打印else: #如果单元格不空str1 = row -2 #str1 = 当前单元格行序号-3str1 = str(str1) #将int类型转换成字符串str1 = str1.rjust(3) #将str1字符串右对齐,不足的填充空格,处理后字符串位宽为3str1 = ('32+'+str1) #字符串拼接str1 = '('+str1+')' #字符串拼接str2 = 'INT_'+sheet.cell_value(row,col).upper() #字符串拼接 + 将单元格字符串转换成大写str2 = str2.ljust(30) #字符串左对齐str3 = '#define ' + str2+ str1 #字符串拼接print(str3) #打印file.write(str3) #文件写入file.write('\n') #回车
file.close()
参考
1、作者 | 博文 |
用Python处理Excel数据,中文全基础系列教程】 | |
2小时学会Python玩转Excel,实现高效率办公自动化,10分钟干完3小时的工作 | |
知否,知否 | python基础-文本对齐(居中,左对齐,右对齐) |
零基础开始用Python处理Excel数据 | |
xlrd基本操作(内含ctype五种类型解析) | |
python数据类型转换 | |
python对excel表进行排序 | |
python初学—-实现excel里面读数据进行排序 | |
python中excel数据排序_Python实现EXCEL表格的排序功能 | |
使用python对两个Excel表进行数据比较,得到差异和相同的数据行 | |
python对比两个excel表 【超简单】 |
Python操作excel基础相关推荐
- Python操作 Excel 基础操作
Python操作 Excel 安装 读取 Excel pip install xlrd read 写入Excel pip install xlwt write 补充会用到的excel表 读取 Exce ...
- 全网最全 Python 操作 Excel 教程,建议收藏!
[欢迎关注微信公众号:厦门微思网络] 微思网络(官网):https://www.xmws.cn/ 0 Python Excel库对比 我们先来看一下python中能操作Excel的库对比(一共九个库) ...
- excel进度条与百分比不符_用Python操作Excel数据
今天给大家展示一个python操作Excel的小demo,demo的例子比较简单,如果大家有什么建议,欢迎可以直接在函数君的微信后台留言. 首先,我们需要安装python在我们的电脑上. 安装的步骤如 ...
- 全网最全Python操作Excel教程,建议收藏!
作者:超级大洋葱806 来源:https://blog.csdn.net/u014779536/article/details/108182833 大家好,猪哥前几天帮学妹爬了个数据,使用到了Pyth ...
- Python操作Excel表格(二)
Python操作Excel表格第二弹 本博客在前一篇博客基础上增加了若干函数,如按列寻找值,查重和增强型查重.数据写入等相关代码.实现了类似Sql的查询(注解中的SQL语句仅做参考,并非可执行SQL) ...
- 全网最全Python操作Excel教程,赶紧收藏
0 Python Excel库对比 我们先来看一下python中能操作Excel的库对比(一共九个库): 1 Python xlrd 读取 操作Excel 1.1 xlrd模块介绍 (1)什么是xlr ...
- Python操作Excel文件:插入一列数据
问题描述:已有Excel文件,其中包含5列数据,要求在第3列前插入一列数据,保存为新文件. 参考代码: 运行结果: --------董付国老师Python系列教材-------- 1)<Pyth ...
- python操作Excel、Word、PDF集合大全
目录 章节一:python使用openpyxl操作excel 1.openpyxl库介绍 2.python怎么打开及读取表格内容? 1)Excel表格述语 ...
- 用Python 操作 Excel,这篇文章别错过了!(超全总结)
在之前的办公自动化系列文章中,我已经对Python操作Excel的几个常用库openpyxl.xlrd/xlwt.xlwings.xlsxwriter等进行了详细的讲解. 为了进一步带大家了解各个库的 ...
最新文章
- SQL与NoSQL区别-授权方式
- 悬挑脚手架卸载钢丝绳要求_100m的悬挑脚手架技术交底
- Spotlight on oracle 使用
- 银行推出一年存1万连着存5年,利率4.5%,能存吗?
- CSS 学习路线(一)元素
- 服务器与本地文件共享文件夹,云服务器对本地服务器共享文件夹
- javaweb实现验证码功能
- C++ vector,STL vector
- 通读cheerio API-网络爬虫
- 如何让Div层悬浮在Flash Object对象之上(转载)
- 国庆高质量出行,可视化开启智慧旅游
- 线性回归分析步骤总结
- C# 操作Word文本框——插入图片、表格、文字、超链接等
- uniapp项目H5端横屏问题-样式错乱+字体大小+video
- 个性化智能推荐(协同过滤算法)技术研究
- linux系统查询服务器型号,Linux系统查看服务器型号
- 系统自学Java语言(学习视频整理)
- 安卓手机如何投屏到电视上_安卓和苹果手机投屏到智能电视方法
- 多媒体——图片——使用相机拍摄图片
- [贪心算法]Leetcode738. 单调递增的数字
热门文章
- opengl的纹理过滤
- 20系列显卡服务器,关于20系列的DLSS
- MT6738/MT6738T芯片资料,MT6738处理器功能介绍
- Deployer让部署变得更加的简单
- 学校计算机的使用英语作文180字,关于我的寒假英语作文180字3篇
- LLVM IRBuilder and pass:1.llvm基础命令
- win10 截图工具
- debian mysql 日志_Apache2:使用mod_log_sql(Debian Etch)记录到MySQL数据库
- 【华为机试真题 JAVA】字符串子序列II-100
- 英国设计师发明不用手撑的雨伞