使用Python对Excel进行读写操作

yipeiwu_com6年前Python基础

学习Python的过程中,我们会遇到Excel的读写问题。这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Excel中读取数据。下面我们介绍如何实现使用Python对Excel进行读写操作。

Python版:3.5.2

通过pip安装xlwt,xlrd这两个模块,如果没有安装的话:

pip install xlwt

pip install xlrd

一、对Excel文件进行写入操作:

# -*- conding:utf-8 -*-
__author__ = 'mayi'
#How to write to an Excel using xlwt module
import xlwt
#创建一个Wordbook对象,相当于创建了一个Excel文件
book = xlwt.Workbook(encoding = "utf-8", style_compression = 0)
#创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格
sheet = book.add_sheet("sheet1", cell_overwrite_ok = True)
#向表sheet1中添加数据
sheet.write(0, 0, "EnglishName") #其中,"0, 0"指定表中的单元格,"EnglishName"是向该单元格中写入的内容
sheet.write(1, 0, "MaYi")
sheet.write(0, 1, "中文名字")
sheet.write(1, 1, "蚂蚁")
#最后,将以上操作保存到指定的Excel文件中
book.save("name.xls")

二、对Excel文件进行读取操作:

# -*- conding:utf-8 -*-
__author__ = 'mayi'
# How to read from an Excel using xlrd module
import xlrd
# 打开指定路径中的xls文件,得到book对象
xls_file = "name.xls"
#打开指定文件
book = xlrd.open_workbook(xls_file)
# 通过sheet索引获得sheet对象
sheet1 = book.sheet_by_index(0)
# # 获得指定索引的sheet名
# sheet1_name = book.sheet_names()[0]
# print(sheet1_name)
# # 通过sheet名字获得sheet对象
# sheet1 = book.sheet_by_name(sheet1_name)
# 获得行数和列数
# 总行数
nrows = sheet1.nrows
#总列数
ncols = sheet1.ncols
# 遍历打印表中的内容
for i in range(nrows):
  for j in range(ncols):
    cell_value = sheet1.cell_value(i, j)
    print(cell_value, end = "\t")
  print("")

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持【听图阁-专注于Python设计】!

相关文章

python使用pymongo操作mongo的完整步骤

前言 MongoDB是由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储形式类似JSON对象,它的字段值可以包含其他文档、数组及文档数组,非常灵活。在...

python 字典访问的三种方法小结

定义字典 dic = {'a':"hello",'b':"how",'c':"you"} 方法一: for key in dic:   print key,dic[key]   ...

Python中.py文件打包成exe可执行文件详解

Python中.py文件打包成exe可执行文件详解

前言 最近做了几个简单的爬虫python程序,于是就想做个窗口看看效果。 首先是,窗口的话,以前没怎么接触过,就先考虑用Qt制作简单的ui。这里用前面sinanews的爬虫脚本为例,制作...

Python数据分析之如何利用pandas查询数据示例代码

前言 在数据分析领域,最热门的莫过于Python和R语言,本文将详细给大家介绍关于Python利用pandas查询数据的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的...

PyTorch 随机数生成占用 CPU 过高的解决方法

PyTorch 随机数生成占用 CPU 过高的问题 今天在使用 pytorch 的过程中,发现 CPU 占用率过高。经过检查,发现是因为先在 CPU 中生成了随机数,然后再调用.to(d...