在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. 浅析KV存储之长尾时延解决办法

    本文分享自华为云社区<浅析KV存储之长尾时延问题,华为云 GeminiDB Redis 探寻行业更优解决方案!>,作者:华为云数据库GaussDB NoSQL团队. 目前,KV存储的广泛使 ...

  2. Android学习day01【搭建Android Studio】

    是Google开发的操作系统 Android开发是移动应用开发的表现形式之一 还有很多的开发形式,就不一一列举了 完整项目精简的开发流程 开发工具 Android studio(强烈建议) Andro ...

  3. [ABC263F] Tournament

    Problem Statement $2^N$ people, numbered $1$ to $2^N$, will participate in a rock-paper-scissors tou ...

  4. 将多个txt文件中的内容写在一个txt中的方法

    import os filename='./train_data/img_' for i in range(1,19736): newfile=filename+str(i)+'.txt' if os ...

  5. MySQL查询语句执行顺序

    注意:理论上select后面的字段别名是不可以在where group by having 等后面使用的,但是MySQL5.7做了相应的优化,group by having 后面可以使用

  6. MySQL运维7-Mycat水平分表

    一.水平分表场景 在业务系统中,有一张日志表,业务系统每天都会产生大量的日志数据,单台服务器的数据存储即处理能力是有限的,可以对数据库表进行拆分,这时候就可以使用水平分表的策略 说明1:水平分表,每个 ...

  7. 51Nod 1085 01背包

    01背包入门题,刚学完当写模板. 在N件物品取出若干件放在容量为W的背包里,每件物品的体积为W1,W2--Wn(Wi为整数),与之相对应的价值为P1,P2--Pn(Pi为整数).求背包能够容纳的最大价 ...

  8. ElasticSearch之cat master API

    命令样例如下: curl -X GET "https://localhost:9200/_cat/master?v=true&pretty" --cacert $ES_HO ...

  9. Python——第二章:字符串操作——索引和切片

    索引: 按照位置提取元素 可以采用索引的方式来提取某一个字符(文字) s = "我叫周杰伦" print(s[3]) #程序员都是从0开始数,这里的3代表第4位,也就是" ...

  10. Supershell防溯源反制配置

    简介 项目地址:https://github.com/tdragon6/Supershell Supershell是一个集成了reverse_ssh服务的WEB管理平台,使用docker一键部署(快速 ...