Python_Example_Excel读取后存储显示_实现程序

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
  4 import sys
  5 import os
  6 import pprint
  7 from collections import OrderedDict  # 字典元素有序排列
  8
  9 # 读取 Excel 模块
 10 import xlrd
 11 import xlwt
 12
 13 ‘‘‘
 14 # ------------------------------------------
 15 # 导入:外文件夹中 .py 模块
 16 # 先导入路径,后引用模块
 17 # ------------------------------------------
 18 ‘‘‘
 19 # 1 D:\Auto_Testing_Pycharm\Protocol_Configs\Configs
 20 sys.path.insert(0,"./Configs")
 21 from Testing_Config_List import *
 22
 23
 24 ‘‘‘
 25 # ------------------------------------------
 26 # 导入:本文件夹中 .py 模块
 27 # 直接引用模块名称
 28 # ------------------------------------------
 29 ‘‘‘
 30 # project module
 31 from Testing_CRC import *
 32
 33 #-----------------------------------------------------------------------------
 34
 35 ‘‘‘
 36 # ============================================================================
 37 # Function:  测试函数  函数
 38 # Explain :
 39 #         :
 40 #  file   :  本文件连接正确
 41 # ============================================================================
 42 ‘‘‘
 43 def Display_Testing_Config():
 44     print("Function: Testing_Config    Ready ")
 45     print("File    : Protocol_Configs  ok \n")
 46
 47
 48
 49 ‘‘‘
 50 # ============================================================================
 51 # Function:   文件路径以及文件名  函数
 52 # Explain :
 53 #         :
 54 #  file   : # file= r‘D:\Auto_Testing_Pycharm\Protocol_Configs\Configs\ 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()
 62 def Function_Excel_Table_Byname(file=local_var_file_path,colnameindex=0, by_name=u‘Sheet1‘):  # 修改自己路径
 63     print(‘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
 81     for 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     # 遍历列表中的元素  显示成表格模式
 93     for row in local_list_line:
 94         print(‘行号编码:< %s >  %s‘%(local_list_line.index(row),row))
 95     #     pprint.pprint(row)  # 规则打印数据
 96
 97     # 返回列表 并且列表的元素是字典
 98     return local_list_line
 99
100 # ---------------------------------------------------------------------------
101 ‘‘‘
102 # ============================================================================
103 # Function:     类
104 # Explain :
105 #         :
106 # ============================================================================
107 ‘‘‘
108 class Class_Module_Use:
109     def __init__(self):
110         print("-----")
111         print("+++++")
112
113 # ============================================================================
114
115
116 ‘‘‘
117 # ============================================================================
118 #   测试专用
119 # ============================================================================
120 ‘‘‘
121 if __name__ == "__main__":
122     print(‘测试开始‘)
123     Function_Excel_Table_Byname()  # 获取到列表 列表中每个元素是字典
124     module = Class_Module_Use()
125     print(‘测试完成‘)

--

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]
 8 Please your select file number :
 9  ->>>
10 Your select protocol : < attribute_protocol.xlsx >
11 temp_var_path_string:  D:\Auto_Testing_Pycharm\Protocol_Configs\Configs\attribute_protocol.xlsx
12 测试开始
13 Function_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 测试完成
22
23 Process finished with exit code 0

原文地址:https://www.cnblogs.com/caochucheng/p/9662481.html

时间: 2024-10-18 10:56:42

Python_Example_Excel读取后存储显示_实现程序的相关文章

android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序

android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序 在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity, 结果总是存在好几个同样的activity,就算要返回的activity正在前台,点击消息后也会重新打开一个一样的activity,返回好几次才能退出, 而不能像qq之类的点击通知栏消息回到之前存在的activity,如果存在就不再新建一个activity 说的有点绕,如果是遇到此类问题的肯定能懂,没遇到

解决linux/Ubuntu下Qt creater 界面程序在编译运行后无法显示中文或中文乱码问题!

本文解决的主要是界面程序编译运行后无法显示中文的问题,如果在creater 中无法输入中文,下载个IBus或者搜狗之类的中文输入法即可解决! 首先说乱码问题,这个很好解决: 如果是在linux下打开Windows下的项目出现乱码,选择编码为"GB2312"即可! 现在主要来说说程序运行后无法显示中文或者出现乱码的情况,被这个问题困扰了很久,网上看了很多资料贴子都没有解决,所有该添加的都添加了都没办法, http://bbs.csdn.net/topics/390610841?page=

IOS 对相册图片进行读取、存储到指定文件夹

这个示例程序主要用到了IOS中的UIImageView.UIImagePickerViewController.UIImage.NSFileManager等知识,结合这些知识构成一个小的应用程序,主要功能是对相册图片进行读取.存储到指定文件夹.从指定文件夹读取出来.这方面的知识在正式项目中用的是比较多的.做Android开发中,经常会使用到将图片保存到SD卡和从SD卡读取图片的操作,相比于Android在这方面的操作,IOS要方便许多. 基本功能是从相册选取一张图片,选完后显示在界面的UIIma

MyEclipse运行崩溃问题 and 安装pyDev后无法显示的问题 解决办法

1.MyEclipse运行崩溃问题 我的MyEclipse会在我写python程序的时候不定时崩溃,特别是最近越发频繁,上网查询后发现: 由于我使用的jdk是32位的,而本本是64位的系统,从而导致了这种恶心的情况. 解决办法: 删除现有的jdk,去网上找一个64位的jdk,注意不要太低或太高,原因会在后面提及到. 2.安装pyDev后无法显示的问题 由于我被MyEclipse的随机崩溃恶心够了(虽然问题不是出在MyEclipse上),转而下了一个Eclipse-_-|||,并且下了个64位的J

工控随笔_03_西门子_Step7项目打开后CPU显示问号解决方法

我们在利用西门子的S7-300/400 PLC的编程软件Step7的时候会出现下面如图所示的问题. 在打开项目的时候,我们会在Simatic Manager里面看到CPU以及一些其他一些组件显示问号. 图.CPU显示问号 一.问题产生的原因 这个问题产生的原因是我们利用低版本的Step7 打开项目的时候,由于Step7 里面没有最新的 硬件的描述性文件导致的. (说明: 西门子的硬件说明文件时.xml格式的文件). 二.解决方法 解决方法有三个: 升级Step7 .重装系统.升级硬件描述性文件.

微信小程序_小程序开发框架

微信小程序_小程序开发框架 微信小程序小程序开发框架的目标是通过尽可能简单.高效的方式让开发者可以在微信中开发具有原生APP体验的服务. 框架提供了自己的视图层描述语言WXML和WXSS,以及基于JavaScript的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,可以让开发者可以方便的聚焦于数据与逻辑上. 响应的数据绑定微信小程序框架的核心是一个响应的数据绑定系统. 整个系统分为两块视图层(View)和逻辑层(App Service) 框架可以让数据与视图非常简单地保持同步.当做数据

VS2012+C语言+图形界面窗口+读取TXT文件+显示

#include <windows.h> #include <stdio.h> #include <stdlib.h> #include <time.h> #define ID_TIMER 1 LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); //声明回调函数 int WINAPI WinMain(HINSTANCE hInstance, HINST

【WPF学习笔记】之如何把数据库里的值读取出来然后显示在页面上:动画系列之(六)

...... 承接系列五 上一节讲了,已经把数据保存到数据库并且删除数据,本讲是把已经存在的数据从数据库里读取出来,显示在页面上. 主页面后台代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using Sys

iphone按home键后,正在运行的程序是否退出了呢?

是否一直有个疑问,当iphone手机正在运行一个APP,如果按Home键后,那么原来正在运行的程序还在运行吗?如果开发过ios程序,可能不是问题,如果没有开发过的,可能会疑惑了,我就简单的说一下.以几个问题的形式来说明,以正在运行QQ为例. 1.为什么按home键后,长时间不操作,再启动qq的话,会重新运行qq(没有回到原来的状态)? 答:iphone实际上是伪后台,按home键后,程序就退出了.所以我们iphone中使用的程序一般都没有退出键. 试想一下,如果程序有退出键的话,那么当程序无响应