python读excel

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
# reload(sys)
# sys.setdefaultencoding('utf-8')
# type = sys.getfilesystemencoding()
import xlrd,xlwt
import os,requests
from datetime import datetime


# 打开文件---绝对路径
workbook = xlrd.open_workbook("F:\\studyauto\\api_get\\test.xlsx")
#输出Excel文件中所有sheet的名字
print workbook.sheet_names()
#获取sheet内容:根据sheet索引或者名称
Data_sheet = workbook.sheets()[0] #第一个sheet
CdfData_sheet = workbook.sheet_by_index(1) #第二个sheet
Charts_sheet = workbook.sheet_by_name(u'Sheet3') #第三个sheet
# 获取sheet名称、行数、列数
print Data_sheet.name,Data_sheet.nrows,Data_sheet.ncols
print CdfData_sheet.name, CdfData_sheet.nrows, CdfData_sheet.ncols
print Charts_sheet.name, Charts_sheet.nrows, Charts_sheet.ncols

#打开文件--同目录下的文件
fname = "test.xlsx"
bk = xlrd.open_workbook(fname)
shxrange = range(bk.nsheets)
try:
sh = bk.sheets()[0]
except:
print "no sheet in %s named Sheet1" % fname
#获取行数
nrows = sh.nrows
#获取列数
ncols = sh.ncols
print "nrows %d, ncols %d" % (nrows,ncols)

#获取第二行第一列数据即获取单元格内容
# cell_value = sh.cell_value(3,0)
# print cell_value
a = sh.cell(1, 0).value
print a

row_list = []

#获取各行数据
for i in range(1,nrows):
row_data = sh.row_values(i)
row_list.append(row_data)
print row_data

#获取各行数据(数组)
for i in range(nrows):
row_data = sh.row_values(i)
row_list.append(row_data)
print row_data

posted @ 2017-08-28 17:59  lindamo  阅读(182)  评论(0编辑  收藏  举报