2018-09-17
Author: 楚格
IDE: Pycharm2018.02 Python 3.7
KeyWord : Excel display
Explain: 读取Excel,显示和存储读取的数据
思路:
1. 确定打开Excel的文件,包括路径以及名称
2.对Excel进行操作,分片是基础操作
3.处理的目的:使分片的每行数据(列表数据)映射成字典(名称是键,每行内容是值),每行的数据聚合成列表,即列表中元素是字典。
4.显示,打印出每行的数据集
1------------------------------------------------------------------------------------------------------------------
1
__all__ = ["Display_Testing_Config"]
2 3# coding=utf-8 4import sys
5import os
6import pprint
7from collections import OrderedDict # 字典元素有序排列 8 9# 读取 Excel 模块 10import xlrd
11import xlwt
12 13‘‘‘ 14# ------------------------------------------
15# 导入:外文件夹中 .py 模块
16# 先导入路径,后引用模块
17# ------------------------------------------
18‘‘‘ 19# 1 D:Auto_Testing_PycharmProtocol_ConfigsConfigs 20 sys.path.insert(0,"./Configs")
21from Testing_Config_List import *
22 23 24‘‘‘ 25# ------------------------------------------
26# 导入:本文件夹中 .py 模块
27# 直接引用模块名称
28# ------------------------------------------
29‘‘‘ 30# project module 31from Testing_CRC import *
32 33#----------------------------------------------------------------------------- 34 35‘‘‘ 36# ============================================================================
37# Function: 测试函数 函数
38# Explain :
39# :
40# file : 本文件连接正确
41# ============================================================================
42‘‘‘ 43def Display_Testing_Config():
44print("Function: Testing_Config Ready ")
45print("File : Protocol_Configs ok n")
46 47 48 49‘‘‘ 50# ============================================================================
51# Function: 文件路径以及文件名 函数
52# Explain :
53# :
54# file : # file= r‘D:Auto_Testing_PycharmProtocol_ConfigsConfigs attribute_protocol.xlsx‘ #固定路径
55# # use protocol of handle file path
56# local_var_file_path = Function_Select_File() # 可变路径
57#
58# ============================================================================
59‘‘‘ 60# 单独列出 已被查看 61 local_var_file_path = Function_Select_File()
62def Function_Excel_Table_Byname(file=local_var_file_path,colnameindex=0, by_name=u‘Sheet1‘): # 修改自己路径 63print(‘Function_Excel_Table_Byname‘)
64#--------------------------------------------------------------------------------------- 65 local_list_line = []
66 local_dictionary_app = {} # 列表变成字典 67 68#-------------------------------------------------------------------------------------- 69# local_var_temp_data = Function_Open_Excel(file) # 打开电子文档 70 local_var_temp_data = xlrd.open_workbook(file) # 打开电子文档 目的:响应删除函数 71# # 这里可以拓展,使用一个Excel 利用不同表格,可以减少外部表格的数量,与上述打开表格方式 是不同的 72 local_var_temp_table = local_var_temp_data.sheet_by_name(by_name) # 获得表格 Excel中不同表格 73# # Contains the data for one worksheet 74 local_var_total_rows = local_var_temp_table.nrows # 属性 拿到总共行数 75# print(‘total_rows: < %d >‘ % local_var_total_rows) # display 76# # Returns a slice of the values of the cells in the given row 77 local_var_column_names = local_var_temp_table.row_values(colnameindex, 0, 5) # 某一列数据 [‘‘, ‘‘, ‘‘, ‘‘] 默认从0行开始 78# print(‘column num: < %s > names: < % s >‘% (len(local_var_column_names),local_var_column_names)) 79 80 81for temp_num in range(1, local_var_total_rows): # 也就是从Excel第二行开始,第一行表头不算 82 local_var_row = local_var_temp_table.row_values(temp_num) # 返回单元格中切片 83# print(‘rows_num: < %s > line_num: < %s > each_element‘ % (temp_num ,len(local_var_row)),local_var_row ) # 每row 就是列表 84 85# 每行分片成列表, 列表转变成字典, 字典转变成列表 86 local_dictionary_app = dict(zip(local_var_column_names,local_var_row)) #列表变字典 87# print(‘local_dictionary_app: ‘,local_dictionary_app) 88 local_list_line.append(local_dictionary_app) # 字典转变成列表 89 90# 内部的字典变成了元素 91# print(‘local_list_line: ‘,local_list_line) #打印列表元素 92# 遍历列表中的元素 显示成表格模式 93for row in local_list_line:
94print(‘行号编码:< %s > %s‘%(local_list_line.index(row),row))
95# pprint.pprint(row) # 规则打印数据 96 97# 返回列表 并且列表的元素是字典 98return local_list_line
99100# ---------------------------------------------------------------------------101‘‘‘102# ============================================================================
103# Function: 类
104# Explain :
105# :
106# ============================================================================
107‘‘‘108class Class_Module_Use:
109def__init__(self):
110print("-----")
111print("+++++")
112113# ============================================================================114115116‘‘‘117# ============================================================================
118# 测试专用
119# ============================================================================
120‘‘‘121if__name__ == "__main__":
122print(‘测试开始‘)
123 Function_Excel_Table_Byname() # 获取到列表 列表中每个元素是字典124 module = Class_Module_Use()
125print(‘测试完成‘)
--
RUN Result
--
1
Protocols that can be executed :
2
0 attribute_protocol.xlsx
3 1 read_test - 副本.xlsx
4 2 read_test.xlsx
5 3 SG80KTL.xlsx
6 5 z.xlsx
7 List number : [0, 1, 2, 3, 5]
8Please your select file number :
9 ->>>
10 Your select protocol : < attribute_protocol.xlsx >
11temp_var_path_string: D:Auto_Testing_PycharmProtocol_ConfigsConfigsattribute_protocol.xlsx
12测试开始
13Function_Excel_Table_Byname
14 行号编码:< 0 > {‘0参数‘: ‘整机属性协议编号‘, ‘1地址‘: 2500.0, ‘2长度‘: 2.0, ‘3类型‘: 1.0, ‘4支持‘: 1.0}
15 行号编码:< 1 > {‘0参数‘: ‘整机属性协议版本‘, ‘1地址‘: 2502.0, ‘2长度‘: 2.0, ‘3类型‘: 1.0, ‘4支持‘: 1.0}
16 行号编码:< 2 > {‘0参数‘: ‘整机属性协议长度‘, ‘1地址‘: 2504.0, ‘2长度‘: 4.0, ‘3类型‘: 1.0, ‘4支持‘: 1.0}
17 行号编码:< 3 > {‘0参数‘: ‘整机属性协议编码‘, ‘1地址‘: 2508.0, ‘2长度‘: 2.0, ‘3类型‘: 2.0, ‘4支持‘: 1.0}
18 行号编码:< 4 > {‘0参数‘: ‘应用协议保留长度‘, ‘1地址‘: 2510.0, ‘2长度‘: 10.0, ‘3类型‘: 1.0, ‘4支持‘: 0.0}
19 -----
20 +++++
21测试完成
2223 Process finished with exit code 0
原文:https://www.cnblogs.com/caochucheng/p/9662481.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!