首页 > 编程语言 >Python 高级技巧:深入解析读取 Excel 文件的多种方法

Python 高级技巧:深入解析读取 Excel 文件的多种方法

时间:2024-10-05 19:49:03浏览次数:7  
标签:sheet 读取 Python Excel cell col row

一、引言

 

在数据分析和处理中,经常需要从 Excel 文件中读取数据。Python 提供了多种库来实现这个功能,本文将深入探讨使用 ​​pandas​​、​​openpyxl​​ 和 ​​xlrd​​ 库读取 Excel 文件的高级技巧和代码实现。

 

二、使用 pandas 库读取 Excel 文件

 

​pandas​​ 是 Python 中强大的数据处理库,提供了方便的函数来读取 Excel 文件。

import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('example.xlsx')

# 打印数据框的前几行
print(df.head())

三、使用 openpyxl 库读取 Excel 文件

 

​openpyxl​​ 是一个用于处理 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。

from openpyxl import load_workbook

# 加载工作簿
wb = load_workbook('example.xlsx')

# 获取工作表
sheet = wb.active

# 遍历工作表中的数据
for row in sheet.iter_rows():
    for cell in row:
        print(cell.value)

四、使用 xlrd 库读取 Excel 文件

 

​xlrd​​ 是一个用于读取 Excel 文件的 Python 库,但它不支持 xlsx 文件格式,只支持 xls 文件格式。

import xlrd

# 打开 Excel 文件
workbook = xlrd.open_workbook('example.xls')

# 获取工作表
sheet = workbook.sheet_by_index(0)

# 遍历工作表中的数据
for row_index in range(sheet.nrows):
    row_data = sheet.row_values(row_index)
    print(row_data)

五、处理复杂的 Excel 格式

 

在实际应用中,Excel 文件可能具有复杂的格式,如合并单元格、数据验证等。我们可以使用相应的库来处理这些情况。

# 使用 openpyxl 处理合并单元格
from openpyxl import load_workbook

wb = load_workbook('example.xlsx')
sheet = wb.active

merged_cells = sheet.merged_cells.ranges

for merged_cell in merged_cells:
    min_row, min_col, max_row, max_col = merged_cell.min_row, merged_cell.min_col, merged_cell.max_row, merged_cell.max_col
    top_left_cell_value = sheet.cell(row=min_row, column=min_col).value
    for row in range(min_row, max_row + 1):
        for col in range(min_col, max_col + 1):
            sheet.cell(row=row, column=col).value = top_left_cell_value

六、性能优化

 

当处理大型 Excel 文件时,性能可能成为一个问题。我们可以采取一些优化措施,如分块读取、只读取需要的列等。

# 使用 pandas 分块读取 Excel 文件
import pandas as pd

chunk_size = 1000  # 每次读取的行数

reader = pd.read_excel('large_file.xlsx', chunksize=chunk_size)

for chunk in reader:
    # 在这里处理每一块数据
    print(chunk)

 本文部分代码转自:https://www.wodianping.com/app/2024-10/40486.html

标签:sheet,读取,Python,Excel,cell,col,row
From: https://www.cnblogs.com/wodianpingcom/p/18448380

相关文章

  • Python语言中程序运行错误和异常处理
    '''Python捕获异常:一旦发生异常,程序就会终止,这是非常糟糕的事情,这种糟糕体现在两方面1.即便发生了异常,业务上可以忽略它,那么程序应当继续执行2.程序终止,使得异常的信息没有被保留下来,不利于问题的分析和总结为了提高程序的健壮性和解决问题,可以将异常捕获,根据业务......
  • Pandas DataFrame对象df 读取数据
    你的df是一个PandasDataFrame对象,类似于一个表格结构的数据,通常有行和列。根据你的描述,表格中有多列数据,例如TS_CODE,DATE,TIME,OPEN等,总共有33列。要显示df中某个特定项目的值,例如“股票的当前价格”,你可以按照以下方式来操作。假设df里有一列CURRENT_PRICE表......
  • uv --- replacement of conda + pip (python version + package version install) pyt
    uvhttps://docs.astral.sh/uv/AnextremelyfastPythonpackageandprojectmanager,writteninRust. InstallingTrio'sdependencieswithawarmcache.Highlights......
  • [Python手撕]公交路线
    classSolution:defnumBusesToDestination(self,routes:List[List[int]],source:int,target:int)->int:ifsource==target:return0station_route={}foriinrange(len(routes)):......
  • [Python手撕]判断二分图
    classSolution:defisBipartite(self,graph:List[List[int]])->bool:defbfs(i):color[i]=1queue=[(i,1)]whilequeue:t,c=queue.pop(0)nc=0......
  • Python替换pypi阿里源
    安装python解释器完成后,使用pip安装模块会遇到超时或者直接无法安装,可以设置使用国内的阿里源或者清华源,下面介绍下步骤阿里源:pypi镜像源清华源:pypi镜像源python-mpipconfigsetglobal.index-urlhttp://mirrors.aliyun.com/pypi/simplepython-mpipconfigsetinstal......
  • WPS股票价格查询EXCEL表格
    第一步在表格内使用公式=GetStockSource(Stock_code)查询股票的即时交易信息,Stock_code表示股票代码;第二步通过公式从Source中提取所需要的数据,可以提取股票名称、价格、涨跌幅、收盘价格、成交额、成交量、换手率等。公式如下:GetStockSource(Stock_code),查询股票即时交易信息G......
  • 用python写一段脚本:将旧的视频文件中的音频替换成新的,并保存成新的视频文件
    代码:importsubprocessdefreplace_audio_with_ffmpeg(video_path,audio_path,output_path):#构建ffmpeg命令command=['ffmpeg','-i',video_path,#输入视频文件'-an',#禁用输入视频的音频'-i&......
  • 深入 Python 数据分析:高级技术与实战应用
    一、引言 Python作为一种强大的编程语言,在数据分析领域中发挥着重要作用。本文将带领读者深入探索Python数据分析的高级技术,通过实际案例和代码示例,帮助读者提升数据分析能力和解决实际问题的能力。 二、数据读取与预处理 使用 pandas 库读取各种数据格式(如CSV、......
  • excel江湖异闻录--华麒麟
    认识他应该是在18、19年左右,那时就感觉这也是个高手,同大部分的高手一样,痴迷函数,热衷创造、挑战不规范的数据。后来他消失了好长一段时间,群里的同学都以为他退圈了,偶有少数的同学想起他,言语都带着惋惜和遗憾,他时不时的会在群里冒个泡,不过都是换个气,又潜下去那种。记得有一天老大......