目的:
python能使用xlrd模块实现对Excel数据的读取,且按照想要的输出形式。
总体思路:
(1)要想实现对Excel数据的读取,需要用到第三方应用,直接应用。
(2)实际操作时候和我们实际平时打开一个文件进行操作一样,先找到文件-->打开文件-->定义要读取的sheet-->读取出内容。
Excel处理合并单元格:
已存在合并单元格如下:
xlrd中的 merged_cells 属性介绍:[code]import xlrd
1
2
3
4
5
|
import xlrd
workbook = xlrd.open_workbook( './data/test_data.xlsx' )
sheet = workbook.sheet_by_name( 'Sheet1' )
merged = sheet.merged_cells # 返回一个列表 起始行,结束行,起始列,结束列)
print (merged)
|
读取合并单元格中的某一个单元格的值编写成一个方法:
1
2
3
4
5
6
7
8
9
|
def get_merged_cell_value(row_index,col_index):
cell_value = None
for (rlow, rhigh, clow, chigh) in merged:
if (row_index > = rlow and row_index < rhigh):
if (col_index > = clow and col_index < chigh):
cell_value = sheet.cell_value(rlow, clow)
return cell_value
print ( get_merged_cell_value( 0 , 1 ) )
|
给出坐标,判断是否为合并单元格:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#方法参数为单元格的坐标(x,y),如果给的坐标是合并的单元格,输出此单元格是合并的,否则,输出普通单元格
def get_merged_cell_value(row_index,col_index):
for (rlow, rhigh, clow, chigh) in merged:
if (row_index > = rlow and row_index < rhigh and col_index > = clow and col_index < chigh):
print ( "此单元格是合并单元格" )
else :
print ( "此单元格为普通单元格" )
print ( get_merged_cell_value( 4 , 3 ) )
##读取第3列的所有数据,并进行降序排序
clox = 3
list1 = []
for i in range ( 1 ,sheet.nrows):
cell_value = float (sheet.cell_value(i,clox))
list1.append(cell_value)
print (list1)
list1.sort()
list1.reverse()
print (list1)
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/123anqier-blog/p/13234406.html