python对excel进行读写操作


python操作excel主要用到xlrd和xlwt这两个库,xlrd是读excel,xlwt是写excel的库。

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

一、安装库

想要实现对excel文件的读写功能,需要安装一些库。下面三个库对excel进行读写操作必不可少。
1.xlwt:对xls等excel文件的写入
2.xlrd:对xls等excel文件的读取
3.openpyxl:对xlsm、xlsx等excel文件进行读写操作
4.xlutils结合xlrd可以达到修改excel文件目的
5.xlsxwriter可以写excel文件并加上图表

1.安装xlrd模块

到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。
或者在cmd窗口 pip install xlrd

#查看版本
pip list
#安装指定版本
pip install xlrd == 1.2.0
#卸载
pip uninstall xlrd

2.安装xlwt模块

到python官网下载http://pypi.python.org/pypi/xlwt模块安装,前提是已经安装了python 环境。
或者在cmd窗口 pip install xlwt

2.安装openpyxl模块

或者在cmd窗口 pip install openpyxl

补充(多个python版本)

使用pip安装第三方模块
  1.python2.x: cmd窗口输入python -m pip install 模块名
    如 python -m pip install requests
  2.python3.x: cmd窗口输入python3 -m pip install 模块名
    如 python3 -m pip install requests

二、使用介绍

操作excel表格如图所示
操作工作簿如图所示
操作文件位于桌面

1、常用单元格中的数据类型

0 - empty(空的) 1 - string(text) 2 - number 3 - date 4 - boolea 5 - error 6 - blank(空白表格)

2、导入模块

import xlrd
import xlwt

3、Excel文件基础操作(读取excel数据)

#判断文件是否存在
print os.path.exists([路径/文件名]);
3.1 打开Excel文件读取数据(所有工作簿sheet)

data = xlrd.open_workbook(filename)

import xlrd;#对excel数据进行读取的库
workbook= xlrd.open_workbook(r'C:\Users\Administrator\Desktop\999.xls')

#文件名以及路径,如果路径或者文件名有中文给前面加一个r拜师原生字符。
#使用r就防止了\n的转义。

3.2获取工作簿sheet名称
print workbook.sheet_names()#输出sheet名[u'Sheet1', u'test', u'Sheet3']

在这里插入图片描述

#根据下标获取sheet名称
sheet_name=workbook.sheet_names()[0]
print sheet_name
#根据sheet索引获取sheet内容,同时获取sheet名称、行数nrows、列数ncols
sheet1 = workbook.sheet_by_index(0)
print sheet1.name,sheet1.nrows,sheet1.ncols
#根据sheet名称获取sheet内容,同时获取sheet名称、行数nrows、列数ncols
sheet1 = workbook.sheet_by_name('999')
print sheet1.name,sheet1.nrows,sheet1.ncols
3.3获取指定工作簿的行和列值

#根据sheet名称获取整行和整列的值

sheetData= workbook.sheet_by_name('test')
rows = sheetData.row_values(3)#第四行
cols = sheetData.col_values(0)#第一列
print rows
print cols
print workbook.sheet_names()

在这里插入图片描述

3.4获取指定单元格的内容
#sheetData= workbook.sheet_by_name('test')
print sheetData.cell(0,0).value#第一行第列
print sheetData.cell(9,0).value
print sheetData.cell_value(8,3)
print sheetData.row(7)[3].value

在这里插入图片描述
中文转码,在python文件首行加(#--coding:UTF-8-sig --)字符.首行首行注意。

如果不行的话,可加。encode(‘UTF-8’)进行转码例如:
sheet2.cell(0,0).value.encode(‘UTF-8’)

#获取单元格内容的数据类型
#(说明:ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error)

print sheetData.cell(3,0).ctype #
  • 10
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python有多个库可以读写Excel文件,其中比较常用的有: 1. openpyxl:一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。 2. xlrd/xlwt:用于读写Excel 97-2003 .xls文件的Python库。 3. pandas:pandas库可以读取和写入多种文件格式,包括Excel文件。 下面分别介绍使用这三个库的方法: ### 1. 使用openpyxl 安装openpyxl库: ``` pip install openpyxl ``` 读取Excel文件: ```python from openpyxl import load_workbook # 打开Excel文件 wb = load_workbook(filename='example.xlsx', read_only=True) # 选择工作表 ws = wb['Sheet1'] # 读取单元格数据 cell_value = ws.cell(row=1, column=1).value print(cell_value) # 遍历行 for row in ws.iter_rows(min_row=1, max_col=3, max_row=2): for cell in row: print(cell.value) # 遍历列 for col in ws.iter_cols(min_row=1, max_col=3, max_row=2): for cell in col: print(cell.value) # 读取整个工作表的数据,返回一个嵌套列表 data = [] for row in ws.iter_rows(min_row=1): row_data = [] for cell in row: row_data.append(cell.value) data.append(row_data) print(data) ``` 写入Excel文件: ```python from openpyxl import Workbook # 创建Excel文件 wb = Workbook() # 选择工作表 ws = wb.active # 写入单元格数据 ws['A1'] = 'Hello' ws.cell(row=1, column=2, value='World') # 写入多行数据 data = [['Name', 'Age', 'Gender'], ['Tom', 18, 'Male'], ['Lucy', 20, 'Female']] for row in data: ws.append(row) # 保存Excel文件 wb.save('example.xlsx') ``` ### 2. 使用xlrd/xlwt 安装xlrd和xlwt库: ``` pip install xlrd pip install xlwt ``` 读取Excel文件: ```python import xlrd # 打开Excel文件 wb = xlrd.open_workbook('example.xls') # 选择工作表 ws = wb.sheet_by_name('Sheet1') # 读取单元格数据 cell_value = ws.cell_value(0, 0) print(cell_value) # 遍历行 for row in range(ws.nrows): for col in range(ws.ncols): cell_value = ws.cell_value(row, col) print(cell_value) # 读取整个工作表的数据,返回一个嵌套列表 data = [] for row in range(ws.nrows): row_data = [] for col in range(ws.ncols): cell_value = ws.cell_value(row, col) row_data.append(cell_value) data.append(row_data) print(data) ``` 写入Excel文件: ```python import xlwt # 创建Excel文件 wb = xlwt.Workbook() # 选择工作表 ws = wb.add_sheet('Sheet1') # 写入单元格数据 ws.write(0, 0, 'Hello') ws.write(0, 1, 'World') # 写入多行数据 data = [['Name', 'Age', 'Gender'], ['Tom', 18, 'Male'], ['Lucy', 20, 'Female']] for row, row_data in enumerate(data): for col, cell_value in enumerate(row_data): ws.write(row+1, col, cell_value) # 保存Excel文件 wb.save('example.xls') ``` ### 3. 使用pandas 安装pandas库: ``` pip install pandas ``` 读取Excel文件: ```python import pandas as pd # 读取Excel文件 df = pd.read_excel('example.xlsx', sheet_name='Sheet1') # 读取单元格数据 cell_value = df.iloc[0, 0] print(cell_value) # 遍历行 for index, row in df.iterrows(): print(row['Name'], row['Age'], row['Gender']) # 读取整个工作表的数据,返回一个DataFrame对象 data = df.values.tolist() print(data) ``` 写入Excel文件: ```python import pandas as pd # 创建DataFrame对象 df = pd.DataFrame({'Name': ['Tom', 'Lucy'], 'Age': [18, 20], 'Gender': ['Male', 'Female']}) # 写入Excel文件 df.to_excel('example.xlsx', sheet_name='Sheet1', index=False) ``` 以上是使用Python读写Excel的常用方法,可以根据实际需求选择不同的库和方法。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值