python 三种方法实现对Excel表格的读写

yizhihongxing

下面是详细讲解“python三种方法实现对Excel表格的读写”的完整实例教程。

一、背景介绍

在实际工作中,Excel表格是我们经常处理的一种数据类型,将Excel表格读取到程序中,进行数据分析、计算等操作,再将结果写入Excel表格,可以提高我们的工作效率。本文将介绍三种方法实现对Excel表格的读写操作,分别为:

  1. 使用Python内置xlrd和xlwt库来读写Excel表格;
  2. 使用Python第三方库pandas来读写Excel表格;
  3. 使用Python第三方库openpyxl来读写Excel表格。

二、方法一:使用Python内置xlrd和xlwt库来读写Excel表格

2.1 安装xlrd和xlwt库

在Python环境中,使用以下命令安装xlrd和xlwt库:

pip install xlrd
pip install xlwt

2.2 Excel表格的读取

通过以下代码块,我们读取名称为“data.xlsx”的Excel表格,并将名称为“Sheet1”的工作表中的数据保存到列表中:

import xlrd

# 打开Excel文件
workbook = xlrd.open_workbook('data.xlsx')

# 获取工作表Sheet1
sheet = workbook.sheet_by_name('Sheet1')

# 获取Sheet1中的数据
data = []
for i in range(sheet.nrows):
    data.append(sheet.row_values(i))

# 打印数据
print(data)

2.3 Excel表格的写入

通过以下代码块,我们将一个列表中的数据写入到名称为“new_data.xls”的Excel表格中:

import xlwt

# 创建Excel对象
workbook = xlwt.Workbook()

# 创建工作表
sheet = workbook.add_sheet('Sheet1')

# 写入数据
data = [['a', 'b', 'c'], [1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i in range(len(data)):
    for j in range(len(data[i])):
        sheet.write(i, j, str(data[i][j]))

# 保存Excel文件
workbook.save('new_data.xls')

说明:在这个示例中,我们使用了一个列表作为数据源,将该列表中的数据写入到名为“Sheet1”的工作表中。

三、方法二:使用Python第三方库pandas来读写Excel表格

3.1 安装pandas库

在Python环境下,使用以下命令安装pandas库:

pip install pandas

3.2 Excel表格的读取

通过以下代码块,我们读取名称为“data.xlsx”的Excel表格,并将名称为“Sheet1”的工作表中的数据保存到pandas.DataFrame中:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 打印DataFrame
print(df)

3.3 Excel表格的写入

通过以下代码块,我们将一个pandas.DataFrame中的数据写入到名为“new_data.xlsx”的Excel表格中:

# 创建DataFrame
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})

# 写入Excel文件
df.to_excel('new_data.xlsx', sheet_name='Sheet1')

说明:在这个示例中,我们使用了一个pandas.DataFrame作为数据源,将该数据源中的数据写入到名为“Sheet1”的工作表中。

四、方法三:使用Python第三方库openpyxl来读写Excel表格

4.1 安装openpyxl库

在Python环境下,使用以下命令安装openpyxl库:

pip install openpyxl

4.2 Excel表格的读取

通过以下代码块,我们读取名称为“data.xlsx”的Excel表格,并将名称为“Sheet1”的工作表中的数据保存到列表中:

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('data.xlsx')

# 获取工作表Sheet1
sheet = workbook['Sheet1']

# 获取Sheet1中的数据
data = []
for row in sheet.rows:
    row_data = []
    for cell in row:
        row_data.append(cell.value)
    data.append(row_data)

# 打印数据
print(data)

4.3 Excel表格的写入

通过以下代码块,我们将一个列表中的数据写入到名称为“new_data.xlsx”的Excel表格中:

# 创建Excel对象
workbook = openpyxl.Workbook()

# 创建工作表Sheet1
sheet = workbook.create_sheet('Sheet1')

# 写入数据
data = [['a', 'b', 'c'], [1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i in range(len(data)):
    for j in range(len(data[i])):
        sheet.cell(row=i+1, column=j+1, value=str(data[i][j]))

# 保存Excel文件
workbook.save('new_data.xlsx')

说明:在这个示例中,我们使用了一个列表作为数据源,在名为“Sheet1”的工作表中写入该列表中的数据。

五、总结

通过上述三个示例,我们介绍了使用Python内置xlrd和xlwt库、Python第三方库pandas、以及Python第三方库openpyxl来读写Excel表格的方法。在实际工作中,我们可以根据实际需求选择不同的方法来进行Excel数据的读写。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 三种方法实现对Excel表格的读写 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • pytorch实现seq2seq时对loss进行mask的方式

    在Pytorch实现seq2seq模型中,对于一个batch中的每个序列,其长度可能不一致。对于长度不一致的序列,需要进行pad操作,使其长度一致。但是,在计算loss的时候,pad部分的贡献必须要被剔除,否则会带来噪声。 为了解决这一问题,可以使用mask技术,即使用一个mask张量对loss进行掩码,将pad部分设置为0,只计算有效部分的loss。 下面…

    python 2023年5月18日
    00
  • python爬虫面试宝典(常见问题)

    让我来为你详细讲解“python爬虫面试宝典(常见问题)”的攻略: 一、前言 “python爬虫面试宝典(常见问题)”是一本介绍Python爬虫技术的书籍,主要针对正在求职或者即将要求职的爬虫工程师。本书主要从入门到进阶,覆盖了爬取、解析、存储等几个方面。下面,我将按照这几个方面为你逐一讲解。 二、爬取 对于爬虫工程师而言,爬取是第一步。本书介绍了多种爬取技…

    python 2023年5月13日
    00
  • python中使用正则表达式将所有符合条件的字段全部提取出来

    Python中使用正则表达式将所有符合条件的字段全部提取出来的完整攻略 在Python中,我们可以使用正则表达式进行字符串匹配和提取。有时候我们需要将所有符合条件的字段全部提取来,这时候可以使用正则表达式的findall()函数。本攻略将详细解如何使用Python正则表达式将所有合条件的字段全部提取出来,包括如何使用findall()函数、如何使用re块。 …

    python 2023年5月14日
    00
  • Python + Requests + Unittest接口自动化测试实例分析

    Python+Requests+Unittest接口自动化测试实例分析 在进行接口测试时,我们可以使用Python的unittest和requests库来实现自动化。unittest是Python自带的测试框架,可以方便地编写和运行测试用例。requests库是一个Python库,用于发送HTTP请求。本文将介绍如何使用Python+Requests+Uni…

    python 2023年5月15日
    00
  • 使用Python Pandas处理亿级数据的方法

    使用Python Pandas处理亿级数据,需要慎重考虑内存使用和计算效率,否则可能会导致软件崩溃或者运行缓慢。综合考虑,可以采用以下措施来处理亿级数据: 1. 分块读取大文件 当我们处理大型文件时,可以使用Pandas库的分块读取i文件的方法,以避免内存问题。Pandas库中提供了read_csv()函数来读取csv格式的文件。此函数有一个特殊的参数chu…

    python 2023年6月6日
    00
  • python中数组和矩阵乘法及使用总结(推荐)

    我会详细讲解“python中数组和矩阵乘法及使用总结(推荐)”的完整攻略。 什么是数组和矩阵乘法 数组和矩阵乘法是指在Python中对数组和矩阵进行乘法运算。数组和矩阵乘法是Python中最常用的数学运算之一,特别是在数据分析、机器学习、深度学习和计算机视觉等领域。 数组乘法:将两个数组中对应元素相乘,得到新的数组。这个过程在numpy中可以通过“*”实现。…

    python 2023年6月5日
    00
  • 详解python算法常用技巧与内置库

    Python是一种高级编程语言,它提供了许多内置库和算法技巧,可以帮助我们更轻松地解决各种问题。在本文中,我们将介绍一些Python算法常用技巧和内置库。 算法常用技巧 1. 双指针技巧 双指针技巧是一种常用的算法技巧,它可以帮助我们在数组或链表中查找元素。双指针技巧通常使用两个指针,一个指针从数组或链表的开头开始,另一个指针从数组或链表的结尾开始,然后两个…

    python 2023年5月13日
    00
  • Python转换itertools.chain对象为数组的方法

    首先,需要了解itertools.chain对象的概念。itertools.chain是一个迭代器工具,将多个迭代对象连接成一个序列,返回一个包含所有元素的迭代器。但是,如果想要将itertools.chain对象转换成数组,可以使用以下方式。 方法一:使用list构造函数 使用list构造函数可以将迭代器转换成数组,因此可以使用list函数将itertoo…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部