乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>python</em> 怎么从excel中读取数据

<em>python</em> 怎么从excel中读取数据

作者:乔山办公网日期:

返回目录:excel表格制作


python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。下面记录python读取excel.
这个过程有几个比较麻烦的问题,比如读取日期、读合并单元格内容。下面先看看e799bee5baa6e997aee7ad94e4b893e5b19e331基本的操作:
首先读一个excel文件,有两个sheet,测试用第二个sheet,sheet2内容如下:

python 对 excel基本的操作如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# -*- coding: utf-8 -*-import xlrd
import xlwtfrom datetime import date,datetimedef read_excel(): # 打开文件
workbook = xlrd.open_workbook(r'F:\demo.xlsx') # 获取所有sheet
print workbook.sheet_names() # [u'sheet1', u'sheet2']
sheet2_name = workbook.sheet_names()[1] # 根据sheet索引或者名称获取sheet内容
sheet2 = workbook.sheet_by_index(1) # sheet索引从0开始
sheet2 = workbook.sheet_by_name('sheet2') # sheet的名称,行数,列数
print sheet2.name,sheet2.nrows,sheet2.ncols # 获取整行和整列的值(数组)
rows = sheet2.row_values(3) # 获取第四行内容
cols = sheet2.col_values(2) # 获取第三列内容
print rows print cols # 获取单元格内容
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).ctypeif __name__ == '__main__':
read_excel

  • #导入包

    import xlrd

    #设置路径

    path='C:\\Users\\jyjh\\Desktop\\datap.xlsx'

    #打开文件

    data=xlrd.open_workbook(path)

  • #查询工作表

    sheets=data.sheets()

    sheets

    可以通过函数、索引、名称获得工作表。

    sheet_1_by_function=data.sheets()[0]

    sheet_1_by_index=data.sheet_by_index(0)

    sheet_1_by_name=data.sheet_by_name(u'Sheet1')


  • 可以通过方法获得某一列或者某一行的数值。

    sheet_1_by_name.row_values(1)

    sheet_1_by_name.col_values(1)

  • 通过工作表的属性获得行数和列数。

    n_of_rows=sheet_1_by_name.nrows

    n_of_cols=sheet_1_by_name.ncols

  • 也可以用一个循环来遍历一次文件。

    for i in range(n_of_rows):

    print sheet_1_by_name.row_values(i)

  • 可以通过以下的任意一种方式访问单元格的数值。

    cell_A1=sheet_1_by_name.cell(0,0).value

    cell_A1=sheet_1_by_name.row(0)[0].value

    cell_A1=sheet_1_by_name.col(0)[0].value

  • 最后通过以下的方法对单元格的数值进行修改。

    row=0

    col=0

    #ctype 0:empty,1:string,2:number,3:date,4:boolean,5:error

    cell_type=1

    value='Hello,Excel'

    cell_A1=sheet_1_by_name.cell(0,0).value

    format=0

    sheet_1_by_name.put_cell(row,col,cell_type,value,format)

    cell_A1=sheet_1_by_name.cell(0,0).value


下载扩展库
xlrd 读excle
xlwt 写excle
直接在百度上搜就能下载

下载后使用
import xlrd
就可以读excle文件了

打开文件:
xls = xlrd.open_workbook(fileName)

选择表:括号内为第几个表
sheet = xls.sheets()[0]

获取zd列:括号内为第几列的数据
col = sheet.col_values(0)

获取行:括号内为第几行的数据
row = sheet.row_values(0)

本程序需要导入xlrd包,可读取后缀名为.xls和.xlsx的Excel文件,使用示例如下:
import xlrd
def read(file, sheet_index=0):
"""
:param file: 文件路径
:param sheet_index: 读取的工作表索引
:return: 二维数组
"""
workbook = xlrd.open_workbook(file)
# all_sheets_list = workbook.sheet_names()
# print("本文件中所有的工作表名称:", all_sheets_list)
# 按索引读取工作表
sheet = workbook.sheet_by_index(sheet_index)
print("工作表名称:", sheet.name)
print("行数:", sheet.nrows)
print("列数:", sheet.ncols)
# 按工作表名称读取数据
# second_sheet = workbook.sheet_by_name("b")
# print("Second sheet Rows:", second_sheet.nrows)
# print("Second sheet Cols:", second_sheet.ncols)
# 获取单元格的数据
# cell_value = sheet.cell(1, 0).value
# print("获取第2行第1列的单元格数据:", cell_value)
data = []
for i in range(0, sheet.nrows):
data.append(sheet.row_values(i))
return data
if __name__ == '__main__':
print(read('工作簿636f7079e79fa5e981933301.xlsx'))

相关阅读

  • <em>python</em> 怎么从excel中读取数据

  • 乔山办公网excel表格制作
  • python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。下面记录python读取excel.这个过程有几个比较麻烦的问题,比如读取日期、读合并单元格内容。下面先看看e79
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网