将Python打包成可执行文件

Python 是一门解释性语言,代码的执行需要依赖解释器,而部分操作系统暂未内置对Python的支持,所以当需要将 Python 发送给别人执行的时候,打包成 exe 是一个好选择。 Pyinstaller Pyinstaller 支持 Python 2/3 ,多平台,可打包可在相同平台分发的可执行文件(如在 Windows 系统上打包的文件可以在其它 Windows 上执行)。 安装 首先,安装 Pyinstaller 库: 安装完成后,就可以对项目文件进行打包了。 打包成一个文件 main.py 是必选参数,为待打包的 python 文件。 打包过程 Pyinstaller 会在项目文件夹生成一批文件: dist 中包括最终编译的结果; build 目录下是生成的一些过程文件。 等文件。 -F 意味着将所有文件打包成一个 *.exe 文件,dist 下只会有一个可执行文件;若不使用此参数,则会在 dist 目录下生成一个和 *.py 文件一致的文件夹,其内的文件就是生成的文件。 自定义图标 -i 可以指定可执行文件的图标。无论是否打包为一个文件,都均适用。 -w 可以隐藏执行时的命令提示窗口。 其它 使用 pyinstaller 过程中遇到的坑实在不少,总结了一些经验: 自定义图标后不生效,可能是尺寸问题,根据Windows的规则,根据缩放比例不同会使用不同的图标尺寸。所以建议设置多个图标分辨率一遍覆盖各个尺寸; 有时候生成的dist和build目录并不在项目目录,可以留意是不是命令提示符处于不同的目录导致的。比如在命令提示符处于 c:\user […]

python 为无列名的数据增加标题

在处理外部数据时,经常会遇到无列名(无表头、无标题行)的数据。以下是从 https://openflights.org/data.htm 下载的全球机场数据: 上述数据没有表头,且数据经常来自外部,直接修改文件加上表头不便于后期数据更新,故不考虑直接修改原始数据源。为了方便后期的数据处理,我们希望能将上述数据加上表头,整理为类似下方的格式。 读取文件时,指定列名内容 read_csv:参数header=None,表示读取的数据不包含表头。pandas会在其第一行加上 0, 1, 2, … ,n 的一行;参数names=airports_colums表示将数组 airports_colums 设置为列的名称 导入后对 DataFrame 进行处理 read_csv:参数header=None,表示读取的数据不包含表头。读取的数据最前面会加上 0, 1, 2, … ,n 的一列。 airports_colums,定义表头的数组。 airports_data.columns,将数组赋予columns属性