一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)

这篇具有很好参考价值的文章主要介绍了一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0.为什么要入坑Python

        早就知道Python好,Python妙,Python用起来呱呱叫。工作上一直没有什么用得上Python的必要性,就一直没有接触,本次终于来了机会:【图新地球桌面端要对外开放Python API】,开放图新地球的三维场景构建能力给到用户,用户可以在图新地球现有功能的基础上专注于做自身业务逻辑的开发。

1.开发环境搭建(1小时)

        学习入门的过程比较简单,初步了解,暂时不考虑做界面,主要看一看Python在GIS、数据处理方面有哪些成熟的包。

        初步的选择:

  •         开发工具:PyCharm
  •         Python版本:3.11.3(ps:可能后续会降级,作为产品追求的是成熟稳定)
  •         系统:Windows11

核心内容:配置Pycharm的中文界面

ps:安装完以后重启Pycharm即可

ps:如果英语比较差的同学,注意看一下列表是否是【marketplace】,在已安装的列表里面肯定是搜索不到的

一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)

 

2.excel文件的解析(5小时)

        2.1选择解析Excel文件的包(openpyxl)

                直接在pycharm的包里面搜索excel相关的包,关键词用excel、xls、xlsx等,实际匹配结果主要是匹配了python包的名称。

一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)

 

                做选择,肯定不能忘了万能的【百度】

一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)

看了好多个包的介绍以后,最终选择了openpyxl,文档也相对比较全,用起来也相对比较简单。(其他的包刚跑起来有的就报错了)       

https://openpyxl.readthedocs.io/en/stable/

        2.2基本Python编码规范(语法)的了解

                靠缩进进行编码的方式让我好不适应,关键是变量的定义、函数的定义,try catch的语法等还是需要了解一下的。

        Python 教程(https://www.w3school.com.cn/python/index.asp)

ps:现在上面的广告比前几年用的时候要多了。

一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)

 

        2.3实现的基本功能

                在GIS软件里面操作Excel主要用于读取数据,测绘院、勘察院、规划院、设计院很多数据都还是在excel里面的,而且操作excel的门槛才是最低的。

        构思完成以后,主要实现的逻辑就是

  • 打开excel
  • 遍历工作表(sheet)
  • 按行遍历内容
  • 获取单元格内容
  • 打印输出

代码如下(太简单了,实现了上面所有功能,也不到100行):

# 这是一个最基本的excel读取示例
# 文件路径的打开和关闭
# sheet的切换
# 指定单元格的值的获取与转换(数字、日期、字符串)
# 合并单元格的值情况查看
# 形成一个exe支持输入一个xlsx文件,在命令行里面显示表格的所有内容
# python解析excel的库
import openpyxl

# 打开指定路径的文件
try:
    my_workbook = openpyxl.load_workbook(filename="D:\pyprj\mypythonexcel\测试工作表.xlsx")
except:
    print("打开D:\pyprj\mypythonexcel\测试工作表.xlsx文件失败")


# 获取对应的工作表Sheet1
# 注意此处一定要区分工作表的名称,中文与大小写要注意清楚,最好都用try cache
try:
    my_currentsheet = my_workbook["Sheet1"]
except:
    print("Sheet1名称的工作表不存在")

# 获取指定单元格的值
value_row1_col1 = my_currentsheet['A1'].value

# 打印指定单元格的值
print("测试excel文件中Sheet1工作表中的A1单元格的值如下:")
print(value_row1_col1)


# 获取对应的工作表“工作表2”
try:
    my_currentsheet = my_workbook["工作表2"]
except:
    print("'工作表2'名称的工作表不存在")

# 获取工作表的内容行数与列数
total_row_num_current_sheet = my_currentsheet.max_row
total_column_num_current_sheet = my_currentsheet.max_column
print("测试excel文件中'工作表2'工作表中共计有",total_row_num_current_sheet,"行",total_column_num_current_sheet,"列")
# 获取指定单元格的值,A2(数字)
value_cell_2_1 = my_currentsheet.cell(row=2,column=1)
print("单元格A2‘第二行第一列’的值为:",value_cell_2_1.value)
# 获取指定单元格的值,B2(汉字)
value_cell_2_2 = my_currentsheet.cell(row=2,column=2)
print("单元格B2‘第二行第一列’的值为:",value_cell_2_2.value)
# 获取指定单元格的值,D2(日期)
value_cell_2_4 = my_currentsheet.cell(row=2,column=4)
print("单元格D2‘第二行第一列’的值为:",value_cell_2_4.value)

# 按行遍历输出每一个单元格的值
for cell_row in range(total_row_num_current_sheet):
    current_row_value = ""
    for cell_col in range(total_column_num_current_sheet):
        current_row_value = current_row_value + "    " + str(my_currentsheet.cell(row=cell_row+1,column=cell_col+1).value)
    print(current_row_value)

# 解析合并的工作表
# 获取对应的工作表“工作表-合并”
try:
    my_currentsheet = my_workbook["工作表-合并"]
except:
    print("'工作表-合并'名称的工作表不存在")

# 获取工作表的内容行数与列数
total_row_num_current_sheet = my_currentsheet.max_row
total_column_num_current_sheet = my_currentsheet.max_column

# 按行遍历输出每一个单元格的值
for cell_row in range(total_row_num_current_sheet):
    current_row_value = ""
    for cell_col in range(total_column_num_current_sheet):
        current_cell = my_currentsheet.cell(row=cell_row+1,column=cell_col+1)
        current_row_value = current_row_value + "    " + str(current_cell.value)
    print(current_row_value)
# 注意:看了上面的输出,我们知道对于有合并的单元格,该单元格的值是合并单元格的左上角的单元格的值,其他单元格的值都是None

 自己造的excel文件如下:

一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)

 

一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走) 

运行结果如下:

一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)

 示例代码和excel文件后面均可下载

3.打包成exe的过程(pyinstall)(2小时)

        操作文件看来不是很难,做好的成果最后还是要用起来的哇,打包也顺带手了解一下,最终选择则了 pyinstaller

        包装exe的预期目的是写好的软件放到其他地方也可以用,那就不能把文件路径写死了哇,需要配置一个命令行参数。

3.1命令行参数配置过程

调试模式下如何配置模拟命令行参数

PyCharm小技巧之怎么方便地编辑命令行参数_rec_char_dict_path_梨梨要努力变强的博客-CSDN博客

这里放一张最喜欢的方式截图

一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)

一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)

 

 最终做的命令行解析:

用的最简单的模式,exe后面直接跟文件路径,getopt未实际使用。

# python解析excel的库
import openpyxl
import sys
import getopt
import os

def parse_xlsx(argv):
    # 输入的xlsx文件路径
    inputfile = ''
    try:
        # getopt.getopt(args, shortopts, longopts=[])
        # args指的是当前脚本接收的参数,它是一个列表,可以通过sys.argv获得
        # shortopts 是短参数  啥是短参数啊?  类似于 这样:python test.py - h  # 输出帮助信息
        # longopts 是长参数  啥是长参数啊?  类似于 这样:python test.py - help  # 输出帮助信息
        opts, args = getopt.getopt(argv, "hi:o:", ["ifile=", "ofile="])
        if len(args)<2:
            print('使用方法:直接输入xlsx绝对路径即可')
            sys.exit(0)

        # 这里只判断第二个参数是否是一个xlsx的文件路径
        inputfile = args[1]
        b_is_xlsx = inputfile.endswith(".xlsx")
        b_is_xls = inputfile.endswith(".xls")
        b_is_exists = os.path.exists(inputfile)
        if b_is_exists & (b_is_xlsx | b_is_xls):

3.2 附pyinstaller的安装过程,及个人的踩坑过程

参考:Pycharm生成.exe文件_pycharm生成exe_繁霜银河的博客-CSDN博客

打包工具的配置过程:

ps:这是实操过程中遇到的一个问题,我在命令行里面打包,能成功,但是运行报缺少openpyxl库,用下面的这个方法在配置pyinstaller后,在软件界面上打包就没问题。

pycharm内如何打包py项目为.exe可执行文件_pycharm打包_韵诺的博客-CSDN博客

一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)

 

最后是打包后的结果

一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)

 源文件及打包的exe、示例excel打包下载地址如下:

https://download.csdn.net/download/xiaopeixiaojun/87937514文章来源地址https://www.toymoban.com/news/detail-497129.html

到了这里,关于一天时间完成Python入坑(开发环境搭建、excel解析、exe打包三步走)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium+Python系列 - 开发环境搭建

    我从未想过自己会写python系列的自动化文章,有些同学会问,那你现在为什么又开始写了? 不止一个人找过我,问我可以写一些 Python 自动化的文章吗,答案是肯定的。 那么,以后我将给大家带来接口和UI自动化两个方面的分享,还请大家持续关注我! 1、Python环境搭建 使用

    2024年01月16日
    浏览(43)
  • python 开发环境(PyCharm)搭建指南

    参考:Python基础教程——搭建Python编程环境 下载 Python Python 下载地址:官网 (1)点击【Downloads】点击【Windows】点击【Python 3.x.x】下载最新版 Python; Python官网下载页面: (2) 勾选【Add python.exe to PYTH 】 点击【Customize installation】,自定义安装位置 点击【OK】,完成安装。

    2024年02月11日
    浏览(46)
  • 【ollama】(3):在linux搭建环境中,安装golang开发的ollama工具,并且完成启动下载gemma:7b和qwen:1.8b运行速度飞快,支持http接口和命令行模式

    https://www.bilibili.com/video/BV19F4m1F7Rn/ 【ollama】(3):在linux搭建环境中,安装ollama工具,并且完成启动下载gemma:7b和qwen:1.8b运行速度飞快,支持http接口和命令行 https://ollama.com/ 项目使用golang+llama.cpp 项目进行开发的。 简化了模型的安装,非常的方便。 然后因为是docker 虚拟环境

    2024年04月13日
    浏览(40)
  • Python 环境搭建,集成开发环境IDE: PyCharm

    今天我要和大家分享一个非常有趣的话题——Python开发环境搭建。在我们的日常生活中,图片处理已经成为了一个非常常见的需求,无论是修图、美颜还是进行一些创意合成,都离不开图片处理。而Python作为一门功能强大的编程语言,在图片处理方面也能够发挥出其独特的优

    2024年02月08日
    浏览(79)
  • 搭建vue项目环境之二(完成基础环境的搭建之后开始正式安装)

            由于工作太忙了,一直都是东奔西跑的,好多知识都是零散的,最近刚好有空,就计划利用这个空闲时间认真的整理以前学过的知识,帮助自己回顾过往,中间也难免有很多错误,欢迎指正挑刺。一直以来都是万金油,最后就是啥都会,但是也都是啥都会一点也都不

    2024年02月11日
    浏览(44)
  • 【Python入门】搭建开发环境-安装Pycharm开发工具

    前言 📕作者简介: 热爱跑步的恒川 ,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Python零基础入门系列,本专栏主要内容为Python基础语法、判断、循环语句、函数、函数进阶、数据容器、文件操作、异常模块与包、数据可视化等,

    2024年02月04日
    浏览(56)
  • MacOS搭建OpenCV开发环境(Python)

    按照官方安装步骤:https://docs.anaconda.com/free/anaconda/install/mac-os/ 安装即可 进入PyCharm中Preferences 点击下面红框中的下拉,点击Add Local Interpreter 按照如下所示进行配置 创建项目,如下所示 代码如下(示例): 将Lenna.png放到main.py同级目录下,运行程序,如下所示: 提示:更多内

    2024年02月07日
    浏览(51)
  • 实验报告一、Python 安装与开发环境搭建

    实验报告一、 Python 安装与开发环境搭建 一、实验目的: 1 、熟练掌握 Python 解释器安装与基本用法。 2 、熟练掌握使用 pip 命令安装 Python 扩展库。 3 、熟悉离线安装轮子文件的方法。 二、实验内容: 1 、安装 Python 解释器。 2 、安装 Python 扩展库。 三、实验步骤: 1 、打开

    2024年02月07日
    浏览(32)
  • 零基础学会Python编程——开发环境的搭建

    作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录  前言 学习目标 一.python 介绍  1.Python 的历史 2.Python 的应用领域 二.Python 的编程环境 1. Python 下载  2.Python 安装 三.IDLE 的

    2024年02月10日
    浏览(116)
  • Python全栈开发(一)——环境搭建和入门

    今天是2023年的第一天,接下来的一个月里,我将持续更新关于python全栈开发的相关知识,前面一段时间都是基础语法。主要分成四大块:基础、面向对象、MYSQL数据库、Django框架。话不多说,进入到今天的主题。 markdown笔记-语法-格式笔记 # 第一章 python基础 ## 1.1 环境搭建 使

    2024年02月03日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包