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、变频空调 三、参考文献总结 前言 使用工具: 提示:以下是本篇文章正文…

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表示镜像的名称,如果镜像不存在会默认拉…

网络层知识点总结4

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

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年)

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

软工毕设开题建议

文章目录 🚩 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的机器(做梦),你的导师让你学习部署并且训练不同尺寸的大模型,并且写一个说明文档。你意识到,你最需要学习的就是关于分布式训练的知识,因为你可是第一次接触这么多卡…

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

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

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

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

74页PPT智能工厂整体规划方案

▲关注智慧方案文库,学习9000多份最新解决方案,其中 PPT、WORD超过7000多份 ,覆盖智慧城市多数领域的深度知识社区,稳定更新4年,日积月累,更懂行业需求。 智能工厂的定义 根据《智能工厂通用技术要求》的…

【个人记录】新电脑的配置截图和电源选项的修改

核心硬件评测: 硬件参数: #修改的电源设置# 电源选项-编辑计划设置-修改的设置: 电源选项-关闭盖子时-修改的设置:

MapStruct浅尝

<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://ma…

一文掌握异步web框架FastAPI(七)-- 安全(XSS 和 CSRF 防护、权限和角色控制、审计日志、使用安全的随机数生成、API 文档保护、会话管理)

接上篇:一文掌握异步web框架FastAPI(六)-- 安全(HTTP验证、Bearer Token、Session、OAuth2 和 OpenID Connect、HTTPS 和 TLS、速率限制)-CSDN博客 目录 九、安全 7、XSS 和 CSRF 防护 1)XSS防护 2)CSRF防护 8、安全的数据存储 9、环境变量管理 10、权限和角色控…

Redis 命令集 (超级详细)

目录 Redis 常用命令集 string类型 hash类型 list类型 set类型 zset类型 bitmap 类型 geo 类型 GEOADD (添加地理位置的坐标) GEOPOS (获取地理位置的坐标) GEODIST (计算两个位置之间的距离) GEOHASH (返回一个或多个位置对象的 geohash 值) GEORADIUS (根据用户…

LeetCode_2413. 最小偶倍数_java

1、问题 2413. 最小偶倍数https://leetcode.cn/problems/smallest-even-multiple/给你一个正整数 n &#xff0c;返回 2 和 n 的最小公倍数&#xff08;正整数&#xff09;。 示例 1&#xff1a; 输入&#xff1a;n 5 输出&#xff1a;10 解释&#xff1a;5 和 2 的最小公倍…