在Python中处理表格数据,有几个非常流行且功能强大的库。以下是一些最常用的库及其示例代码:

1. Pandas

Pandas是一个开放源代码的、BSD许可的库,为Python编程语言提供高性能、易于使用的数据结构和数据分析工具。

安装Pandas

pip install pandas

示例代码:读取CSV文件

import pandas as pd

# 读取CSV文件
df = pd.read_csv('pokemon.csv') # 显示前五行数据
print(df.head()) # 计算某列的平均值
print("Average of column:", df['Speed'].mean()) # 数据筛选
filtered_df = df[df['Speed'] > 10] # 将更改后的DataFrame保存到新的CSV文件
filtered_df.to_csv('filtered_example.csv', index=False)

2. OpenPyXL

OpenPyXL是一个库,用于读取和写入Excel 2010 xlsx/xlsm/xltx/xltm文件。

安装OpenPyXL

pip install openpyxl

示例代码:读取Excel文件

from openpyxl import load_workbook

# 加载一个现有的工作簿
wb = load_workbook('example.xlsx') # 获取活动的工作表
sheet = wb.active # 读取A1单元格的值
print(sheet['A1'].value) # 修改B2单元格的值
sheet['B2'] = 42 # 保存工作簿
wb.save('modified_example.xlsx')

3. CSV

Python标准库中的CSV模块提供了读写CSV文件的功能。

示例代码:读取CSV文件

import csv

# 打开CSV文件
with open('example.csv', mode='r', encoding='utf-8') as file:
reader = csv.reader(file) # 遍历每一行
for row in reader:
print(row) # 写入CSV文件
with open('output.csv', mode='w', encoding='utf-8', newline='') as file:
writer = csv.writer(file)
writer.writerow(['Name', 'Age', 'City'])
writer.writerow(['Alice', '24', 'New York'])

4. xlrd/xlwt

这两个库通常一起使用,xlrd用于读取老版本的Excel文件(xls),而xlwt用于写入。

安装xlrd和xlwt

pip install xlrd xlwt

示例代码:读取xls文件

import xlrd

# 打开工作簿
wb = xlrd.open_workbook('catering_sale.xls') # 通过索引获取工作表
sheet = wb.sheet_by_index(0) # 读取A1单元格的值
print(sheet.cell_value(0, 0)) # 获取行数和列数
print(sheet.nrows, sheet.ncols)

当选择库的时候,最好考虑你的具体需求,例如文件格式(CSV、Excel等)、数据大小、性能需求以及是否需要进行复杂的数据分析和操作。Pandas在数据分析方面提供了广泛的功能,而OpenPyXL、xlrd和xlwt则在处理Excel文件方面各有所长。标准库中的CSV模块足够处理基本的CSV文件操作。

玩转Python:在Python中处理表格数据,几个非常流行且功能强大的库的更多相关文章

  1. Python使用Tabula提取PDF表格数据

    今天遇到一个批量读取pdf文件中表格数据的需求,样式大体是以下这样: python读取PDF无非就是三种方式(我所了解的),pdfminer.pdf2htmlEX 和 Tabula.综合考虑后,选择了 ...

  2. Delphi读取不Word中不规则表格数据并转换成标准表格

    程序需要,需要将word中不规则的表格数据转换为标准的表格,即合并的单元格按正常格式解析,word中的表格格式如下: 解析后数据如下: 借鉴了网上代码,如下处理: procedure TfrmMain ...

  3. python读取es中的所有数据并计算md5然后进行持久化

    #!/usr/bin/python import threading import json import time from elasticsearch import Elasticsearch f ...

  4. Python利用xlutils统计excel表格数据

    假设有像上这样一个表格,里面装满了各式各样的数据,现在要利用模板对它进行统计每个销售商的一些数据的总和.模板如下: 代码开始: 1 #!usr/bin/python3 2 # -*-coding=ut ...

  5. python 实现元组中的的数据按照list排序, python查询mysql得到的数据是元组格式,按照list格式对他们排序

    需求: 需要用echart实现软件模块的统计分析,首先是对数据库的数据查询出来,然后给数据封装成列表(list)格式,数据传到前台,在echart实现绑定数据. 因为数据已经按照从大到小的顺序显示出来 ...

  6. Python 删除列表中的重复数据

    list0=['b','c', 'd','b','c','a','a'] 方法1:使用set() list1=sorted(set(list0),key=list0.index) # sorted o ...

  7. 使用python读取文本中结构化数据

    需求 read some .txt file in dir and find min and max num in file. solution: echo *.txt > file.name ...

  8. WPF下的Richtextbox中实现表格合并,添加删除行列等功能

    .Net中已有现在的方法实现这些功能,不过可能是由于未完善,未把方法公开出来.只能用反射的方法去调用它. 详细信息可以查看.Net Framework 的源代码 http://referencesou ...

  9. 使用phpword获取doc中的表格数据

    1. 首先确定使用phpword是可以读取word文档中表格里面的数据, 使用的phpword版本0.17.0 2.理解word文档内容的存储逻辑规则(这里只做简单概述) 一般做博文喜欢直接贴代码,直 ...

  10. EXTJS4.2 内存中操作表格数据时,删除表格数据,行号不连续解决

    需要重新刷新下表格的view => grid.view.refresh();

随机推荐

  1. PZthon

    一道新式题目,python.exe的分析 这个时候没有思路不要紧,直接wp 先用特别的软件执行.exe程序,就是对.exe进行反编译 然后在反编译脚本的目录写就有了一个打包文件夹 在里面找到文件的.p ...

  2. 持续集成指南:GitHubAction 自动构建+部署AspNetCore项目

    前言 之前研究了使用 GitHub Action 自动构建和发布 nuget 包:开发现代化的.NetCore控制台程序:(4)使用GithubAction自动构建以及发布nuget包 现在更进一步, ...

  3. Net 高级调试之十:轻量级代码生成的调试

    一.简介 今天是<Net 高级调试>的第十篇文章.说起来,高级调试,调试的内容还是挺多的,技巧也不少,但是,要想做一个合格的高级调试人员,还需要掌握如何调试动态生成的IL代码.今天要探讨的 ...

  4. 从一个 Demo 说起 Dubbo3

    简介 2017年的9月份,阿里宣布重启Dubbo的开发维护,并且后续又将Dubbo捐献给了Apache,经过多年的发展已经发布到3.X版本了,Dubbo重启维护之后是否有值得我们期待的功能呢,下面就来 ...

  5. 浏览器跨 Tab 窗口通信原理及应用实践

    最近,相信大家一定被这么个动效给刷屏了: 以至于,基于这个效果的二次创作层出不穷,眼花缭乱. 基于跨窗口通信的弹弹球: 基于跨窗口通信的 Flippy Bird: 我也尝试制作了一个跨 Tab 窗口的 ...

  6. Linux笔记02: Linux环境_2.3 Linux网络连接

    2.3 Linux网络连接 本节介绍VMware Workstation Player 17下CentOS 7的网络连接. 2.3.1 VMware网络类型 VMware提供的网络连接有5种: ●桥接 ...

  7. 探秘扫雷游戏的C语言实现

    1 引言 1.1 为什么写这篇文章? 项目仓库地址:基于 C 语言实现的扫雷游戏 我决定写这篇文章的初衷是想分享我在使用C语言开发扫雷游戏的经验和心得.通过这篇文章,我希望能够向读者展示我是如何利用C ...

  8. 服务网格 Service Mesh

    什么是服务网格? 服务网格是一个软件层,用于处理应用程序中服务之间的所有通信.该层由容器化微服务组成.随着应用程序的扩展和微服务数量的增加,监控服务的性能变得越来越困难.为了管理服务之间的连接,服务网 ...

  9. 技巧:在Excel或Word中将回车替换掉

    一.在Excel中替换 将回车替换为逗号或其他字符,如下面的屏幕截图所示. 1. 在 查找和替换 对话框中 查找内容 字段,请按 Ctrl + J 键,然后在 更换 字段中,键入所需的字符,在这种情况 ...

  10. ncurses 与 menu

    ncurses 与 menu 一下位ncurses和菜单库menu的demo程序 #include <menu.h> #include <ncurses.h> #include ...