python读取excel表格内容

本文介绍了如何使用Python进行Excel文件的处理,包括安装Python、创建虚拟环境、安装处理库如openpyxl,并通过示例展示了如何读取和操作Excel表格内容。无论是直接在命令行还是编写Python脚本,都能轻松实现对Excel数据的管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本概念:

  1. 盖楼房(安装python)
  2. 创建厨房(python虚拟环境)
  3. 购买锅碗瓢盆(安装各种库,各种工具)
  4. 干活做饭(处理execel表格)

1.安装Python 3 (建好一栋楼):

这个步骤具体的就不写了,可以自己百度
安装完python后,我们相当于有了一栋楼

2.创建虚拟环境:

相当于创建自家的厨房,当然也可以不创建,直接整栋楼所有家庭使用同一个厨房,但是这样会非常混乱,所有家庭的锅碗瓢盆都放一起,到时候管理混乱。

打开cmd,在cmd里面创建虚拟环境:
(1).创建虚拟环境的指令:virtualenv excelEnv(这个可以自己起名字)
如果没有安装virtualenv(专门用来创建虚拟环境),需要先进行安装 pip install virtualenv。
(2).启用虚拟环境:.\excelEnv\Scripts\activate.bat
(excelEnv) c:\technology\Python>

3.安装依赖包(就是处理excel表格的工具):

启用虚拟环境后(相当于创建了厨房),安装各种工具(相当于配置锅碗瓢盆)。
(1).安装excel表格处理工具:pip install openpyxl,
    还有其它的处理excel的工具,例如 pip install xlrd
(2).如果还需要别的工具,则根据自己的需要进行安装。

4.干活

1.第一种方式:主要是自己做实验用

首先执行python指令,进入python命令行
(1).拿到工具(安装excel表格处理工具)
import openpyxl
或者 import xlrd

(2)找到需要处理的excel表格。
wb = openpyxl.load_workbook('test.xlsx')

(3)开始正式操作:
得到所有的sheet,sheet就是所有的页面
>>> wb.get_sheet_names()
['test1', 'Sheet2']

得到其中某个sheet
>>> sheet = wb.get_sheet_by_name('test1')
>>> sheet.title
'test1'

2.第二种方式:

创建一个py文件,将所有命令放到里面
例如,创建了一个py文件,叫做testcase.py
怎样执行这个文件里的指令呢?
(excelEnv) c:\technology\Python>  python testcase.py

下面给吃一个具体的例子, testcase.py内容如下:

import xlrd
import os
from datetime import datetime
from xlrd import xldate_as_tuple

'''
python读取excel中单元格的内容返回的5种类型
0 --empty:空
1 --string:字符串
2 --number:数字
3 --date:日期
4 --boolean:布尔
5 --error
'''

excel_path = os.path.join(os.getcwd(), 'test.xlsx')    # Excel文件路径
print('Excel文件的路径:' + excel_path)
excel_file = xlrd.open_workbook(excel_path)             # 打开Excel文件
# table = excel_file.sheet_by_index(1)                  # 通过索引打开
# table = excel_file.sheet_by_name('mode')              # 通过名字打开
table = excel_file.sheets()[0]                        # 通过索引打开
print('已经打开的工作簿的名字:' + table.name)
print('**********开始读取Excel单元格的内容**********')

all_content = []
for i in range(table.nrows):
    row_content = []
    for j in range(table.ncols):
        ctype = table.cell(i, j).ctype              # 获取单元格返回的数据类型
        cell_value = table.cell(i, j).value         # 获取单元格内容
        if ctype == 2 and cell_value % 1 == 0:      # 是否是数字类型
            cell_value = int(cell_value)
        elif ctype == 3:                            # 是否是日期
            date = datetime(*xldate_as_tuple(cell_value, 0))
            cell_value = date.strftime('%Y/%m/%d %H:%M:%S')
        elif ctype == 4:                            # 是否是布尔类型
            cell_value = True if cell_value == 1 else False
        row_content.append(cell_value)
    all_content.append(row_content)
    # print('[' + ', '.join("'" + str(element) + "'" for element in row_content) + ']')
    print(row_content)
    # print(all_content)

print('**********Excel单元格的内容读取完毕**********')

print('行数:%d' % table.nrows)     # 打印行数
print('列数:%d' % table.ncols)     # 打印列数
print('========================')
print('第二行的内容:' + str(table.row_values(1)))     # 打印一行的内容
print('第二列的内容:' + str(table.col_values(1)))     # 打印一列的内容
print('========================')
# 打印单元格的内容(以下打印的是第二行第二列的单元格的内容)
print(table.cell(1, 1).value)
#print(table.cell_value(1, 1))
#print(table.row(1)[1].value)
print('========================')

执行结果如下:

Python 中可以利用 `pandas` 库读取 Excel 文件的内容,并且能够处理包含多个工作表 (Sheet) 的文件。 ### 使用 pandas 读取多 Sheet 的 Excel #### 安装依赖库 首先需要确保安装了 `pandas` 和用于读取 Excel 文件的支持包如 `openpyxl` 或者 `xlrd`。你可以通过 pip 来快速安装: ```bash pip install pandas openpyxl xlrd ``` #### 示例代码 - 读取所有 sheet 并合并到 DataFrame 字典中: 下面的例子展示了如何将 Excel 文档里的每个 sheet 转换成为一个独立的数据框并存储在一个字典里,键名就是各 sheet 名称。 ```python import pandas as pd # 假设我们要打开名为 'example.xlsx' 的 excel 文件 file_path = 'path/to/your/example.xlsx' # read_excel 函数默认会加载第一个 sheet;如果想要获取所有的 sheets, # 可以传递参数 None 给 sheet_name 参数。 excel_data = pd.read_excel(file_path, sheet_name=None) for name, df in excel_data.items(): print(f"数据来自于 '{name}' 表") print(df.head()) # 打印前五行作为示例展示 print("成功读取整个 Excel 包含的所有 Sheets!") ``` 如果你只对特定的一些 sheets 感兴趣,则可以直接指定它们的名字列表给 `sheet_name` 参数。 例如:仅从两个已知名称的工作表 "SalesData", "CustomerInfo" 进行读入操作。 ```python specific_sheets = ['SalesData', 'CustomerInfo'] selected_data = pd.read_excel(file_path, sheet_name=specific_sheets) ``` 这样就可以选择性地读取你需要的某些 sheet 数据而忽略其他部分啦! #### 注意事项 - 确保 Excel 文件路径正确无误; - 如果遇到日期格式、数字精度等问题时要注意检查原文件设置及转换规则; - 对于特别大的 Excel 文件来说,直接一次性全部加载可能会消耗较多内存资源,此时建议分批次逐步读入所需内容。 希望这个解释对你有所帮助!如果有更多关于 Python 处理 Excel 的疑问欢迎继续提问~
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值