笔记-python 3 操作 excel

简介

xlrd用来读取excel文件,xlwt用来写excel文件,它们合作来对excel进行操作。

官方文档:http://www.python-excel.org/

xlrd官方介绍:https://pypi.python.org/pypi/xlrd/1.0.0

xlwt官方介绍:https://pypi.python.org/pypi/xlwt/1.1.2

xlutils官方介绍:https://pypi.python.org/pypi/xlutils

http://xlutils.readthedocs.io/en/latest/

  1. 关于xlrd:

Library for developers to extract data from Microsoft Excel ™ spreadsheet files

Extract data from Excel spreadsheets (.xls and .xlsx, versions 2.0 onwards) on any platform. Pure Python (2.6, 2.7, 3.2+). Strong support for Excel dates. Unicode-aware.

翻译过来总结就是:

xlrd 可以在任意平台上读取的excel为: .xls以及 .xlsx 。

xlrd支持和的python版本是: 2.6,2.7 , 3.2+。
2. 关于xlwt:

Library to create spreadsheet files compatible with MS Excel 97/2000/XP/2003 XLS files, on any platform, with Python 2.6, 2.6, 3.3+
This is a library for developers to use to generate spreadsheet files compatible with Microsoft Excel versions 95 to 2003.

翻译过来总结就是:

xlwt支持的excel版本是: Microsoft excel版本 95—2003,也就是 xls文件。

xlwt支持的python版本是:2.6 , 3.3+.
3. 关于xlutils:

This package provides a collection of utilities for working with Excel files. Since these utilities may require either or both of the xlrd and xlwt packages, they are collected together here, separate from either package.

Currently available are:

xlutils.copy
Tools for copying xlrd.Book objects to xlwt.Workbook objects.
xlutils.display
Utility functions for displaying information about xlrd-related objects in a user-friendly and safe fashion.
xlutils.filter
A mini framework for splitting and filtering Excel files into new Excel files.
xlutils.margins
Tools for finding how much of an Excel file contains useful data.
xlutils.save
Tools for serializing xlrd.Book objects back to Excel files.
xlutils.styles
Tools for working with formatting information expressed in styles.

翻译过来总结就是:

如果需要在 xlrd以及 xlwt之间进行交互的话,比如拷贝 xlrd 到 xlwt 需要用到xlutils。

目前提供了 copy、display、filter、margins、Save、styles几个函数。

安装 xlrd 和 xlwt

pip install xlrd
pip install xlwt
pip install xlutils
pip list

xlrd (1.0.0) 
xlutils (2.0.0) 
xlwt (1.1.2)

使用

  1. 新建一个excel文件(xlwt)
#coding='utf-8'

import xlwt
from datetime import  datetime

def set_style(font_name,font_height,bold=False):
    style=xlwt.XFStyle()
    
    font=xlwt.Font()
    font.name=font_name         # 'Times New Roman'
    font.height=font_height
    font.bold=bold
    font.colour_index=4
    
    borders=xlwt.Borders()
    borders.left=6
    borders.right=6
    borders.top=6
    borders.bottom=6
    
    style.font=font
    style.borders=borders
    return style

def write_to_excel_xlwt():
    '''Write content to a new excel'''
    new_workbook=xlwt.Workbook()
    new_sheet=new_workbook.add_sheet("SheetName_test")
    new_sheet.write(0,0,"hello") 
    #write cell with style
    new_sheet.write(0,1,"world",set_style("Times New Roman", 220, True))  
    
    style0 = xlwt.easyxf('font: name Times New Roman, color-index red, bold on',num_format_str='#,##0.00')
    style1 = xlwt.easyxf(num_format_str='D-MMM-YY')
    new_sheet.write(1, 0, 1234.56, style0)
    new_sheet.write(1, 1, datetime.now(), style1)
    
    #write cell with formula
    new_sheet.write(2,0,5)
    new_sheet.write(2,1,8)
    new_sheet.write(3,0, xlwt.Formula("A3+B3"))

    new_workbook.save(r"NewCreateWorkbook.xls")         #if change to xlsx,then open failed
    
if __name__=="__main__":
    write_to_excel_xlwt()

代码执行之后,在当前路径下生成excel文件 “NewCreateWorkbook.xls”。内容如下 :
在这里插入图片描述

  1. 读取excel文件(xlrd)
#coding='utf-8'

import xlrd
    
def read_excel_xlrd():
    '''Read Excel with xlrd'''
    #file
    TC_workbook=xlrd.open_workbook(r"NewCreateWorkbook.xls")

    #sheet
    all_sheets_list=TC_workbook.sheet_names()
    print("All sheets name in File:",all_sheets_list)
    
    first_sheet=TC_workbook.sheet_by_index(0)
    print("First sheet Name:",first_sheet.name)
    print("First sheet Rows:",first_sheet.nrows)
    print("First sheet Cols:",first_sheet.ncols)
    
    second_sheet=TC_workbook.sheet_by_name("SheetName_test")
    print("Second sheet Rows:",second_sheet.nrows)
    print("Second sheet Cols:",second_sheet.ncols)
    
    first_row=first_sheet.row_values(0)
    print("First row:",first_row)
    first_col=first_sheet.col_values(0)
    print("First Column:",first_col)
    
    # cell
    cell_value=first_sheet.cell(1,0).value
    print("The 1th method to get Cell value of row 2 & col 1:",cell_value)
    cell_value2=first_sheet.row(1)[0].value
    print("The 2th method to get Cell value of row 2 & col 1:",cell_value2)
    cell_value3=first_sheet.col(0)[1].value
    print("The 3th method to get Cell value of row 2 & col 1:",cell_value3)
    
if __name__=="__main__":
    read_excel_xlrd()

运行之后,控制台输出如下 :

All sheets name in File: ['SheetName_test']
First sheet Name: SheetName_test
First sheet Rows: 4
First sheet Cols: 2
Second sheet Rows: 4
Second sheet Cols: 2
First row: ['hello', 'world']
First Column: ['hello', 1234.56, 5.0, '']
The 1th method to get Cell value of row 2 & col 1: 1234.56
The 2th method to get Cell value of row 2 & col 1: 1234.56
The 3th method to get Cell value of row 2 & col 1: 1234.56
  1. 向已经存在的excel写入(xlrd&xlwt&xlutils)
#coding='utf-8'

import xlrd
import xlwt
from xlutils.copy import copy
    
def write_to_existed_file():
    '''Write content to existed excel file with xlrd&xlutils&xlwt'''
    rb = xlrd.open_workbook(r"NewCreateWorkbook.xls",formatting_info=True)

    wb = copy(rb)
    ws = wb.get_sheet(0)
    
    font=xlwt.Font()
    font.name="Times New Roman"
    font.height=220
    font.bold=False
    
    borders = xlwt.Borders()
    borders.left = xlwt.Borders.THIN
    borders.right = xlwt.Borders.THIN
    borders.top = xlwt.Borders.THIN
    borders.bottom = xlwt.Borders.THIN
    
    pattern = xlwt.Pattern()
    pattern.pattern = xlwt.Pattern.SOLID_PATTERN
    pattern.pattern_fore_colour = 2
    
    cell_style = xlwt.XFStyle()
    cell_style.font = font
    cell_style.borders = borders
    cell_style.pattern = pattern
    
    ws.write(6,7,"hello world",cell_style)
    wb.save(r"NewCreateWorkbook.xls")
    
if __name__=="__main__":
    write_to_existed_file()

运行之后,excel文件内容如下:

在这里插入图片描述

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Pandas是Python中一个强大的数据分析库,它可以轻松地读取、处理和分析各种数据类型,包括Excel表格。本文将介绍如何使用Pandas来操作Excel文件,并提供相应的笔记PDF文件进行参考。 要使用Pandas操作Excel文件,首先需要安装Pandas库。在安装完Pandas之后,我们可以使用"pandas.read_excel"函数来读取Excel文件。该函数可以接受Excel文件路径作为参数,并返回一个Pandas的DataFrame对象,以便我们进行后续的数据操作和分析。 一旦我们读取了Excel文件,就可以使用Pandas提供的各种函数来对数据进行处理和分析。例如,我们可以使用"head"函数来查看数据的前几行,使用"describe"函数来获取数据的统计信息,或者使用"sort_values"函数对数据进行排序等等。这些函数可以帮助我们更好地理解和掌握数据,从而做出更准确的分析和决策。 此外,Pandas还提供了一些函数来进行数据的筛选、修改和计算。我们可以使用"loc"和"iloc"函数来选择特定的行和列,使用"fillna"函数来填充空值,使用"apply"函数对某一列数据进行自定义计算等等。这些函数的使用可以帮助我们快速地完成数据的处理和分析任务。 最后,我们可以将Pandas的DataFrame对象转换为PDF文件,以便记录我们的数据处理和分析过程。可以使用"df.to_pdf"函数将DataFrame对象保存为PDF文件,该文件可以作为笔记使用,方便我们回顾和分享。 总之,Pandas提供了丰富而强大的功能,可以帮助我们轻松地操作Excel文件,并进行相关的数据处理和分析。同时,我们可以将操作过程记录为PDF文件,方便日后参考和分享。 ### 回答2: pandas操作Excel的方法非常方便,可用于读取、写入和操作Excel文件。下面是关于pandas操作Excel笔记。 1. 读取Excel文件:可以使用`pandas.read_excel()`函数来读取Excel文件,并将其转换为DataFrame对象。可以通过指定文件路径、工作表名称和其他参数来读取不同的工作表和数据。 2. 数据筛选和操作:我们可以使用pandas的各种函数和方法对Excel中的数据进行筛选和操作。例如,`df.drop()`可以删除指定的行或列,`df.loc()`可以按条件选择数据等。这些方法可以帮助我们根据需要对Excel中的数据进行处理和分析。 3. 数据写入Excel:使用`pandas.DataFrame.to_excel()`函数可以将DataFrame对象写入到Excel文件中。可以通过指定文件路径和其他参数来实现对Excel文件的写入操作。 4. 数据统计和计算:pandas提供了许多内置函数和方法来进行数据的统计和计算操作。例如,`df.mean()`可以计算平均值,`df.sum()`可以计算总和等。这些函数和方法可以帮助我们快速计算和分析Excel中的数据。 总之,pandas是一个强大的工具,可以方便地操作Excel文件。它提供了许多函数和方法,可以帮助我们读取、写入和处理Excel中的数据。通过使用pandas,我们可以更高效地进行数据分析和处理工作,在处理大量数据时尤其有用。无论是初学者还是有经验的数据分析师,都可以受益于pandas在Excel操作中的优势。 ### 回答3: pandas是一个在Python中用于数据分析和操作的强大库。它提供了大量的函数和方法,方便我们对Excel文件进行读取、写入和处理。下面是关于pandas操作Excel的一些笔记: 1. 读取Excel文件: 我们可以使用pandas的`read_excel()`函数来读取Excel文件。只需要传入Excel文件的路径或URL即可。读取后的数据可以保存在DataFrame对象中,方便后续的操作和分析。 2. 写入Excel文件: 利用pandas,我们可以使用`to_excel()`函数将数据从DataFrame对象写入Excel文件中。我们可以指定文件的输出路径和文件名,还可以设置写入的sheet名称和是否包含行索引。 3. 数据操作和处理: pandas提供了丰富的数据处理功能。我们可以对读取的Excel数据进行选取、过滤、排序、合并、拆分等操作。比如可以使用`df.head()`来获取数据的前几行,使用`df.describe()`来获取数据的基本统计信息。 4. 数据筛选和过滤: 在pandas中,我们可以使用布尔索引来筛选和过滤数据。比如可以使用`df[df['列名'] > 值]`来获取满足条件的数据行。 5. 数据统计和分析: pandas提供了丰富的数据统计和分析函数,可以方便地进行数据聚合、求和、平均值等操作。比如可以使用`df.groupby('列名').mean()`来对数据进行分组并计算平均值。 6. 缺失值处理: 如果Excel文件中存在缺失值,我们可以使用pandas的函数来处理缺失值。比如使用`df.dropna()`来删除包含缺失值的行,使用`df.fillna(value)`来填充缺失值。 总之,pandas提供了丰富的函数和方法,方便我们对Excel文件进行读取、写入和处理。它不仅简化了数据操作的流程,还可以高效地处理大量的数据。通过对pandas的学习和应用,我们可以更好地处理和分析Excel数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白砌墙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值