python表格处理prettytable vs pandas

prettytable和pandas简介

Python中prettyTable和pandas都是用于处理和展示数据的工具,但它们在设计目标、功能和使用场景上有显著的不同。

  • PrettyTable是一个轻量级的库,主要用于创建美观的ASCII表格,让表格数据在命令行或文本界面中看起来更友好,支持基本的表格创建、列对齐、边框样式等,可以从列表、字典或CSV文件中创建表格,提供了简单的API来添加、删除行和列。
    ‌使用场景‌:适用于需要快速在命令行中展示表格数据的场景。当数据量不大,且主要关注表格的展示效果时,PrettyTable是一个不错的选择。
    优点:简单易用,能够快速创建美观的表格。
    缺点:功能相对有限,不支持复杂的数据处理和分析。

  • pandas是一个强大的数据处理和分析库,提供了丰富的数据结构和函数来操作和分析结构化数据。支持多种数据格式(如CSV、Excel、JSON、SQL等)的读写,提供了DataFrame和Series等高级数据结构,方便进行数据清洗、转换、聚合等操作,集成了大量的统计和机器学习函数,支持数据的可视化(通过matplotlib等库)。
    ‌使用场景‌:适用于需要处理和分析大量数据的场景。需要进行复杂的数据清洗、转换、分析或可视化时,pandas是首选工具。
    优点:功能强大,能够处理和分析大量、复杂的数据。
    缺点:相对于PrettyTable来说,学习曲线较陡,需要更多的时间和精力来掌握。

下面是分别使用prettytable和pandas的例子:

prettytable

from prettytable import PrettyTabledef test_prettytable():# 创建一个PrettyTable对象table = PrettyTable()# 添加字段名table.field_names = ["Name", "Age", "City"]# 添加行数据table.add_row(["Alice", 28, "New York"])table.add_row(["Bob", 22, "Los Angeles"])table.add_row(["Charlie", 30, "Chicago"])# 将表格转换为HTML格式html_table = table.get_html_string(attributes={"class": "my_table"})out_file = 'out.html'with open(out_file, 'w') as f:f.write(html_table)# 输出HTML表格print(html_table)

pandas

import pandas as pddef test_pandas():# 创建一个数据字典data = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [28, 22, 30],'City': ['New York', 'Los Angeles', 'Chicago']}# 将数据字典转换为DataFramedf = pd.DataFrame(data)# 将DataFrame转换为HTML格式# html_table = df.to_html(index=False, classes='my_table')html_table = df.to_html()out_file = 'out1.html'with open(out_file, 'w') as f:f.write(html_table)# 输出HTML表格print(html_table)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/57766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【电机应用】变频器控制——变频水泵、变频空调

【电机应用】变频器控制——变频水泵、变频空调 文章目录 [TOC](文章目录) 前言一、变频器1、变频器的组成2、变频器的工作原理3、变频器常用算法 二、变频器的应用场景1、变频水泵2、变频空调 三、参考文献总结 前言 使用工具: 提示:以下是本篇文章正文…

QHeaderView添加复选框以及样式

实现这个效果,需要重写paintSection来实现效果,同时重写mousePressEvent来执行是否勾选复选框。 paintSection实现一些复选框样式 void CheckBoxHeaderView::paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const {if (m_…

Android 原生开发与Harmony原生开发浅析

Android系统 基于Linux ,架构如下 底层 (Linux )> Native ( C层) > FrameWork层 (SystemService) > 系统应用 (闹钟/日历等) 从Android发版1.0开始到现在15,经历了大大小小的变革 从Android6.0以下是个分水岭,6.0之前权限都是直接卸载Manifest中配置 6.0开始 则分普…

Matlab|基于氢储能的热电联供型微电网优化调度方法

目录 1 主要内容 模型求解流程 2 部分程序 3 程序结果 日前调度 日内调度 4 下载链接 1 主要内容 该程序复现《基于氢储能的热电联供型微电网优化调度方法》,针对质子交换膜燃料电池和电解槽的热电联供特性,为避免氢能系统的热能浪费并进一步提高…

k8s 综合项目笔记

综述 这篇笔记主要是为了记录下自己写 k8s 综合项目的过程。 由于自己之前已经写过简单的开发和运维项目,所以这里就结合一下,在搭建 k8s 集群后安装运维常用服务,比如 ansible 和 prometheus,用 NFS 实现数据存储同步&#xff0c…

Windwos下Docker下载安装centos7.6

操作步骤: 1.打开docker软件进入到DockerHub页面搜索contos镜像 2.在终端通过命令获取镜像并创建容器运行 docker run -itd --name test_centos7.6 centos:7.6.1810 test_centos7.6表示容器的名称 centos:7.6.1810表示镜像的名称,如果镜像不存在会默认拉…

k8s 部署 emqx

安装cert-manager 使用Helm安装 helm repo add jetstack https://charts.jetstack.io helm repo update helm upgrade --install cert-manager jetstack/cert-manager \--namespace cert-manager \--create-namespace \--set installCRDstrue如果通过helm命令安装失败&#x…

网络层知识点总结4

目录 前言 一、什么是NAT?什么是NAPT?NAT的优点和缺点有哪些?NAPT有哪些特点? 二、建议IPv6协议没有首部检验和。这样做的优缺点是什么? 三、当使用IPv6时,协议ARP是否需要改变?如果需要改变…

线性可分支持向量机代码 举例说明 具体的变量数值变化

### 实现线性可分支持向量机 ### 硬间隔最大化策略 class Hard_Margin_SVM:### 线性可分支持向量机拟合方法def fit(self, X, y):# 训练样本数和特征数m, n X.shape# 初始化二次规划相关变量:P/q/G/hself.P matrix(np.identity(n 1, dtypenp.float))self.q matr…

ArcGIS计算多个面要素范围内栅格数据各数值的面积

本文介绍在ArcMap软件中,基于面积制表工具(也就是Tabulate Area工具),基于1个面要素数据集与1个栅格数据,计算每一个面要素中各栅格数据分布面积的方法。 首先,来看一下本文的需求。现有一个矢量面的要素集…

Springboot整合原生ES依赖

前言 Springboot整合依赖大概有三种方式: es原生依赖:elasticsearch-rest-high-level-clientSpring Data ElasticsearchEasy-es 三者的区别 1. Elasticsearch Rest High Level Client 简介: 这是官方提供的 Elasticsearch 客户端,支持…

小问题解决方法汇总(2024.10.24水个勋章)

问题1:”因为在系统上禁止运行脚本“ 我们在使用命令行时经常遇到类似文章这样的提示,或者是如下截图中显示的那样: 仅需要在“管理员权限下的Powershell”中输入下面的命令即可解决: set-ExecutionPolicy RemoteSigned 输入命…

【数据分享】全国科技-产品质量国家监督抽查(1995-2021年)

数据介绍 一级标题指标名称单位科技国家监督抽查产品种类种科技国家监督抽查食品种类种科技国家监督抽查日用消费品种类种科技国家监督抽查建筑与装饰装修材料种类种科技国家监督抽查农业生产资料种类种科技国家监督抽查工业生产资料种类种科技国家监督抽查企业家科技国家监督抽…

Dns_在Ubuntu和Centos上安装并配置Dns服务器

Dns_在Ubuntu和Centos上安装并配置Dns服务器 一、Ubuntu上安装Dns1.安装 BIND92.配置 DNS 服务器3.配置防火墙(如果启用 UFW)4.在客户端使用 DNS 服务器5.测试 DNS 服务器6.常见问题及解决方案 二、Centos上安装Dns 以下记录在Ubuntu和Centos系统上安装D…

软工毕设开题建议

文章目录 🚩 1 前言1.1 选题注意事项1.1.1 难度怎么把控?1.1.2 题目名称怎么取? 1.2 开题选题推荐1.2.1 起因1.2.2 核心- 如何避坑(重中之重)1.2.3 怎么办呢? 🚩2 选题概览🚩 3 项目概览题目1 : 深度学习社…

一文讲明白大模型分布式逻辑(从GPU通信原语到Megatron、Deepspeed)

1. 背景介绍 如果你拿到了两台8卡A100的机器(做梦),你的导师让你学习部署并且训练不同尺寸的大模型,并且写一个说明文档。你意识到,你最需要学习的就是关于分布式训练的知识,因为你可是第一次接触这么多卡…

聚合值和非聚合值比较【SQL】

文章目录 聚合值和非聚合值比较背景可以在HAVING中使用的聚合条件如何实现与非聚合值的比较与非聚合值的特殊比较 聚合值和非聚合值比较 背景 在数据库中,聚合值和非聚合值通常不直接比较,因为它们的上下文和用途不同。聚合值是通过聚合函数计算出来的…

linx ,centos7 ,hadoop集群登录时免密登录注意点以及步骤

linx ,centos7 ,hadoop集群登录时免密登录注意点以及步骤 SSH 免密登陆 1,在配置ssh免密登陆之前,将master克隆3份slaves出来,然后验证其ip是否和上面所述一致,并使用Xshell连接,这样我们可以得到额外的三台机器&…

【数据仓库】数据仓库面试题

简单整理了一下题目和答案,希望对大家有所帮助。 第一面:基础技术与概念 什么是ETL?请解释ETL过程中的每个步骤。 ETL是Extract, Transform, Load的缩写,用于描述将数据从源系统提取、转换为适合分析的形式、最后加载到目标系统的…

使用vscode拉取release远程分支,发现没有这个分支,但是远程仓库里确确实实有,是因为没有及时更新远程仓库分支导致

今天在开发过程中,需要从release分支上拉取代码重新拉个分支开发,方便后面迭代更新。但是我在vscode里点击分支,发现没有远程分支release/v1.0.0,但是仓库里确确实实有这个分支。然后我就上网查有类似的情况,参考别人是…