Python 读取Excel

本文介绍了一个使用Python进行Excel文件自动化读写的方法,通过openpyxl和xlrd库,实现了对特定行数据的判断与修改,适用于批量处理电话号码运营商标记的任务。
# coding=utf-8

import openpyxl
import xlrd

file_path = 'a.xlsx'


def read_write(row_count):
    work_book = openpyxl.load_workbook(file_path)
    work_sheet = work_book['test']
    for rows_index in range(row_count):
        cell_obj = work_sheet.cell(row=rows_index+1, column=1)
        if cell_obj.value.startswith("137"):
            work_sheet.cell(row=rows_index+1, column=10).value = '移动'
        else:
            work_sheet.cell(row=rows_index+1, column=10).value = '其他'
    work_book.save(file_path)
    work_book.close()
    print 'success'


def get_row_count():
    work_book = xlrd.open_workbook(file_path)
    work_sheet = work_book.sheets()[0]
    row_count = work_sheet.nrows
    # print row_count
    return row_count


def get_column_count():
    work_book = xlrd.open_workbook(file_path)
    work_sheet = work_book.sheets()[0]
    col_count = work_sheet.ncols
    # print col_count
    return col_count


if __name__ == "__main__":
    row_count = get_row_count()
    read_write(row_count)
### 回答1: Python 有很多库可以用来读取 Excel 文件,其中比较常用的是 openpyxl 和 xlrd。 使用 openpyxl 库: ``` python # 导入 openpyxl 库 import openpyxl # 打开 Excel 文件 workbook = openpyxl.load_workbook('example.xlsx') # 获取 Excel 文件中的 sheet sheet = workbook.active # 读取单元格的值 value = sheet['A1'].value # 遍历行 for row in sheet.iter_rows(): for cell in row: print(cell.value) ``` 使用 xlrd 库: ``` python # 导入 xlrd 库 import xlrd # 打开 Excel 文件 workbook = xlrd.open_workbook('example.xlsx') # 获取 Excel 文件中的 sheet sheet = workbook.sheet_by_index(0) # 读取单元格的值 value = sheet.cell_value(0, 0) # 遍历行 for row in range(sheet.nrows): for col in range(sheet.ncols): print(sheet.cell_value(row, col)) ``` 以上代码仅供参考,具体使用应根据实际情况进行调整。 ### 回答2: Python读取Excel可以使用第三方库`pandas`和`openpyxl`。 使用`pandas`库可以通过`read_excel()`函数来读取Excel文件。首先需要安装`pandas`库,可以使用以下命令进行安装: ``` pip install pandas ``` 安装完成后,导入`pandas`库,并使用`read_excel()`函数读取Excel文件,代码示例如下: ```python import pandas as pd # 读取Excel文件 data = pd.read_excel('example.xlsx') # 打印读取的数据 print(data) ``` `read_excel()`函数默认会读取Excel文件的第一个表单中的数据,如果需要指定读取的表单,可以使用`sheet_name`参数来指定表单的名称或索引。例如,读取名为"Sheet1"的表单: ```python data = pd.read_excel('example.xlsx', sheet_name='Sheet1') ``` 另外,还可以通过指定`header`参数来设置是否将Excel文件中的第一行作为列名。如果`header`为`None`,则不将第一行作为列名,如果为整数,则将第一行作为指定的行数的列名。例如,不将第一行作为列名: ```python data = pd.read_excel('example.xlsx', header=None) ``` 如果要读取多个表单,可以使用`Sheetname`参数传入一个字符串列表,代码示例如下: ```python data = pd.read_excel('example.xlsx', sheet_name=['Sheet1', 'Sheet2']) ``` 除了`pandas`库之外,还可以使用`openpyxl`库来读取Excel文件。`openpyxl`库是一个专门处理Excel文件的开源库。首先需要安装`openpyxl`库,可以使用以下命令进行安装: ``` pip install openpyxl ``` 安装完成后,导入`openpyxl`库,并使用`load_workbook()`函数加载Excel文件,然后选择需要读取的表单来读取数据,代码示例如下: ```python from openpyxl import load_workbook # 加载Excel文件 workbook = load_workbook('example.xlsx') # 选择需要读取的表单 sheet = workbook['Sheet1'] # 遍历表单的所有行和列,并打印数据 for row in sheet.iter_rows(): for cell in row: print(cell.value) ``` 以上就是使用`pandas`和`openpyxl`两个库读取Excel的方法。根据实际需求,选择适合的库来进行Excel文件的读取操作。 ### 回答3: Python可以使用多个库来读取Excel文件,其中比较常用的是pandas库。Pandas是一个强大的数据处理库,它提供了很多功能来读取和操作Excel文件。 首先,我们需要安装pandas库。可以使用pip命令在命令行中安装,如下所示: pip install pandas 安装完毕后,我们就可以使用pandas来读取Excel文件了。首先需要导入pandas库: import pandas as pd 然后,我们使用read_excel()函数来读取Excel文件。该函数有多个参数可以调整,包括文件路径、工作表名称等。下面是一个简单的示例: data = pd.read_excel('文件路径/文件名.xlsx', sheet_name='工作表名') 在上面的示例中,我们指定了Excel文件的路径和文件名,以及要读取的工作表名称。读取后的数据将存储在data变量中。 读取完成后,我们可以使用pandas库提供的各种函数和方法来操作Excel数据。例如,可以查看数据的前几行,获取数据的维度,筛选数据等。 最后,如果想要将处理后的数据保存到新的Excel文件中,可以使用to_excel()函数,该函数可以将pandas数据写入Excel文件。示例如下: data.to_excel('保存路径/保存文件名.xlsx', index=False) 在上面的示例中,我们指定了保存的路径和文件名,并且设置index=False,表示不保存索引列。 总结起来,Python读取Excel文件的过程可以分为导入依赖库、读取Excel文件、操作Excel数据、保存Excel文件等多个步骤。使用pandas库可以简化这个过程,并提供了丰富的功能来处理Excel数据。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值