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)