百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

python操作excel大全

off999 2025-05-15 20:22 24 浏览 0 评论

一、常用python操作excel模块

  • xlrd
  • csv
  • openpyxl

二、各个模块操作

1、xlrd操作

安装

pip install xlrd

例如excel内容如下,对该excel进行操作

# -*- coding: utf-8 -*-
import xlrd

def read_excel():
# 打开文件
workbook = xlrd.open_workbook('banwod.xls')
# 获取所有sheet
print workbook.sheet_names() # [u'sheet1', u'sheet2']
sheet2_name = workbook.sheet_names()[1]

# 根据sheet索引或者名称获取sheet内容
sheet2 = workbook.sheet_by_index(0) # sheet索引从0开始,或者根据sheet名称来获得,如下
# sheet2 = workbook.sheet_by_name('Sheet1')#同上

  # sheet的名称,行数,列数
print "sheet的名称,行数,列数",sheet2.name,sheet2.nrows,sheet2.ncols

# 获取整行和整列的值(数组)
rows = sheet2.row_values(2) # 获取第四行内容
cols = sheet2.col_values(2) # 获取第三列内容
print "行"
for i in rows:
    print i,
    print "列"
for i in cols:
    print i,

# 获取单元格内容的几种方式
print sheet2.cell(1,0).value.encode('utf-8')
print sheet2.cell_value(1,0).encode('utf-8')
print sheet2.row(1)[0].value.encode('utf-8')

# 获取单元格内容的数据类型
# print sheet2.cell(1,0).ctype

if __name__ == '__main__':
    read_excel()

输出:


2、csv模块

自带模块,无需安装

import csv
with open('egg2.csv', 'wb') as csvfile:
    spamwriter = csv.writer(csvfile,dialect='excel')
    spamwriter.writerow(['a', '1', '1', '2', '2'])
    spamwriter.writerow(['b', '3', '3', '6', '4'])
    spamwriter.writerow(['c', '7', '7', '10', '4'])
    spamwriter.writerow(['d', '11','11','11', '1'])
    spamwriter.writerow(['e', '12','12','14', '3'])

输出:


3、openpyxl模块

pip install openpyxl

多sheet操作,新建sheet、对指定sheet进行操作

import openpyxl


def writeExcel(path, value, sheet):
    '''
    :param sheet:sheet的名称
    :param path:文件的名字和路径
    :param value1: 写入的数据
    :return:
    '''
    book = openpyxl.Workbook()
    sheet1 = book.active
    sheet1.title = sheet

    for i in range(0, len(value)):
        for j in range(0, len(value[i])):
            sheet1.cell(row=i + 1, column=j + 1, value=str(value[i][j]))

    book.save(path)
    print("写入数据成功!")


def addExcel(path, value, sheet):
    '''
   :param sheet:sheet的名称
    :param path:写入excel的路径
    :param value: 追加的数据
    :return:
    '''
    wb = openpyxl.load_workbook(path)
    wb.create_sheet(sheet)
    ws = wb[sheet] #该功能可以直接获取指定的sheet表,需要屏蔽掉上一步create_sheet

    for ss in value:
        ws.append(ss)#不覆盖原数据
        ws.cell() #覆盖原数据
    wb.save(path)
    print("写入成功")


def main():
    value1 = [["标题1", "标题2", "标题3"],
              ["a", "b", "c"],
              ["1", "2", "3"]]
    writeExcel("sss.xlsx", value1,sheet="sheet1")
    path = "sss.xlsx"
    value2 = [["a", "b", "v"], ["ss", "bbb", "vvv"]]

    addExcel(path, value2, sheet="sheet2")


#打开文件:
from openpyxl import load_workbook
excel=load_workbook('E:/test.xlsx')
#获取sheet:
table = excel.get_sheet_by_name('Sheet1')   #通过表名获取  
#获取行数和列数:
rows=table.max_row   #获取行数
cols=table.max_column    #获取列数
#获取单元格值:
Data=table.cell(row=row,column=col).value  #获取表格内容,是从第一行第一列是从1开始的,注意不要丢掉 .value
#通过名字
    ws = wb["frequency"] 
    #等同于 ws2 = wb.get_sheet_by_name('frequency')
    #不知道名字用index
    sheet_names = wb.get_sheet_names()
    ws = wb.get_sheet_by_name(sheet_names[index])# index为0为第一张表 
#或者
    ws =wb.active
   # 等同于  ws = wb.get_active_sheet() #通过_active_sheet_index设定读取的表,默认0读第一个表
    #活动表表名
   wb.get_active_sheet().title

if __name__ == '__main__':
    main()

相关推荐

云电脑app哪个好(手机云电脑app哪个最好)

答:以下是一些比较好的云电脑应用程序推荐:1.AnyDesk-支持Windows、MacOS、Linux、Android和iOS,可用于远程访问和控制PC或移动设备。2.Splashtop...

怎样注册邮箱163免费(怎样注册邮箱163免费账号)

一、工具:电脑(联网)、浏览器二、操作步骤:【1】打开浏览器,找到“163邮箱”,点击。【2】点击右边的“注册”。【3】网站默认注册手机号码邮箱,填写信息,点击“注册”。若不想泄漏手机号码或不想使用手...

微软surface pro 6(微软surface pro 6可以扩容吗)

SurfacePro6的接口包含:1个标准尺寸USB3.0端口,3.5mm耳机插孔,MiniDisplayPort,1个SurfaceConnect端口,Surface专业键盘盖端口,microSDX...

电源已接通未充电怎么回事(电源已接通未充电 真正解决办法)

原因分析:出现这样的原因有可能是长时间没有充电,导致电池的内部电量耗完后亏电严重,只是电脑充电的保护,不让过充而已,只要设置一下电池选项一般就可以解决问题了。解决方法:1、关机,拔下电源,拔出电池,...

华为云会议app下载(华为云会议下载)

 华为云会议可以在PC客户端或者手机客户端上一键发起立即会议,1秒创会。然后在会中选择企业通讯录中的人加入,系统会自动呼叫这些与会人,接听后即加入会议。ZOOM是一个云会议服务平台,为客户提...

路由器重置方法(路由器重置方法详细步骤)

路由器靠近WAN口边上的有一个小孔用于路由器的重置,路由器配置完成后,我们可能会忘记他的用户名或者是密码,那么我们可以把它恢复到出厂设置,再靠近万口或电源之间,有一个小孔,用一个尖锐的金属查一下大约五...

100个有效qq号以及密码(有效qq号和密码大全)

如果你的电脑知识好的话,不妨用一些复合密码!SHIFT+一些特殊符号,字母,数字!虽然麻烦了点,但总比被人盗号了的好,是吧!最好还用手机绑定一下,这样的话方便改密码也不怕QQ被盗了哦。。。QQ密码找回...

win10家庭中文版下载官网(windows10家庭中文版下载)

你好,激活Win10家庭中文版的方法:1.购买正版Win10家庭中文版激活码,然后在计算机上输入激活码,即可完成激活。2.如果您已经安装了Win10家庭中文版,但尚未激活,可以通过以下步骤激活:-...

电脑截图在哪里找(电脑截图在哪里找图片win10)

截图默认会保存在电脑的剪贴板中,可以通过以下步骤将其保存到本地:1.打开任意一款图片软件,如Paint、Photoshop、Word等。2.按下键盘上的Ctrl+V,或者在软件菜单栏中选择&#...

电脑里一堆microsoft visual

按照系统向下兼容原理,保留2010就可以了.1)你安装的时候是不是把创建快捷键的选项框都没选上,导致在开始菜单中没有找到相应的链接?2)去你的安装目录下,找到Microsoftvisualc++...

windows无法识别usb(windows无法识别usb设备)
windows无法识别usb(windows无法识别usb设备)

Windows无法识别USB,解决办法如下右键开始菜单打开设备管理器,在通用串行总线控制器中右键点击设备选择“卸载”,完成后重新启动计算机即可解决问题。这有可能是在组策略中禁用了USB口,可以使用快捷键【Win+R】运行gpedit.msc...

2025-11-10 11:51 off999

bios能看到硬盘 开机找不到硬盘

bios里可以看到硬盘,说明硬盘已经被主板识别。进系统找不到,可能硬盘没分区,或者硬盘是动态磁盘,还没有导入或激活。按win+r,输入diskmgmt.msc回车,就打开磁盘管理了,在里面可以给新硬盘...

找回qq聊天记录的方法(找回qq聊天记录怎么找)
  • 找回qq聊天记录的方法(找回qq聊天记录怎么找)
  • 找回qq聊天记录的方法(找回qq聊天记录怎么找)
  • 找回qq聊天记录的方法(找回qq聊天记录怎么找)
  • 找回qq聊天记录的方法(找回qq聊天记录怎么找)
无线网有个红叉(无线网有个红叉,搜索不到网络)

连接失败,路由坏换路由,外网坏,报修无线网络处出现红叉表示设备无法正常工作。请检查网卡驱动是否正常,无线网络开关是否打开。解决方法:查看电脑是否有无线网络开关,且是否打开。进入设备管理器检查网卡驱动是...

thinkpad笔记本官网首页(thinkpad官方商城)

官方网站 国内:http://www.thinkworld.com.cn   国内用户只需要访问国内即可。  ThinkPad,中文名为“思考本”,在2005年以前是IBMPC事业部旗下的便携式计算机...

取消回复欢迎 发表评论: