PYTHON如何读取和写入EXCEL里面的数据

yipeiwu_com6年前Python基础

好久没写了,今天来说说python读取excel的常见方法。首先需要用到xlrd模块,pip install xlrd 安装模块。

首先打开excel文件:

xl = xlrd.open_workbook(r'D:\file\data.xlsx') 传文件路径

通过索引获取要操作的工作表

table = xl.sheets()[0]

有些人不知道啥是工作表,下图这个:

获取第一行的内容,索引从0开始

row = table.row_values(0)

获取第一列的整列的内容

col = table.col_values(0)

获取第一列,第0~4行(不含第4行)

print(table.col_values(0,0,4))

获取单元格值,第几行第几个,索引从0开始

data = table.cell(2,0).value

pycharm读取数据后发现整数变成了小数

如图,手机号变小数:

解决办法:在整数内容前加上一个英文的引号即可

读取excel内容方法截图:

# todo 对excel的操作
import xlrd

# todo 打开excle
xl = xlrd.open_workbook(r'D:\file\data.xlsx')
#print(xl.read())

# todo 通过索引获取工作表
table = xl.sheets()[0]
print(table)

# 获取一共多少行
rows = table.nrows
print(rows)

# todo 获取第一行的内容,索引从0开始
row = table.row_values(0)
print(row)

# todo 获取第一列的整列的内容
col = table.col_values(0)
print(col)

# todo 获取单元格值,第几行第几个,索引从0开始
data = table.cell(3,0).value
print(data)

写入数据到excel的操作:

'''写入excel文件'''
import xlsxwriter

# todo 创建excel文件
xl = xlsxwriter.Workbook(r'D:\testfile\test.xlsx')

# todo 添加sheet
sheet = xl.add_worksheet('sheet1')

# todo 往单元格cell添加数据,索引写入
sheet.write_string(0,0,'username')

# todo 位置写入
sheet.write_string('B1','password')

# todo 设置单元格宽度大小
sheet.set_column('A:B',30)

# todo 关闭文件
xl.close()

方法截图:

封装读取excel的方法:

import xlrd
def config_data():
  # 公共参数
  xl = xlrd.open_workbook(r'D:\testfile\config.xlsx')
  table = xl.sheets()[0]
  # todo 获取单元行的内容,索引取值
  row = table.row_values(0)
  return row

测试是否可用:

'''测试data里面的配置数据是否可用'''
from App_automation.data import config_data
row = config_data()
print(row[0])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python计算两个日期相差天数的方法示例

本文实例讲述了Python计算两个日期相差天数的方法。分享给大家供大家参考,具体如下: #!/usr/bin/python import time import sys def da...

Python中不同进制的语法及转换方法分析

本文实例讲述了Python中不同进制的语法及转换方法。分享给大家供大家参考,具体如下: 不同进制的书写方式 ① 八进制(Octal) 0o377 ② 十六进制(Hex) 0xFF ③ 二...

Python SqlAlchemy动态添加数据表字段实例解析

Python SqlAlchemy动态添加数据表字段实例解析

本文研究的主要是Python SqlAlchemy动态添加数据表字段,具体如下。 我们知道使用SqlAlchemy创建类来映射数据表,类属性等于数据库字段,但有时候要在我们创建表的时候,...

python验证码图片处理(二值化)

python验证码图片处理(二值化)

写在最前面: 这个我打算分几次写,由于我们通过selenium拿到的图片会很模糊,所以使用Tesseract识别之前要对图片先进行处理。 第一步就是二值化,设定阈值,低于阈值全部为白色(...

浅谈MySQL中的触发器

在很多时候,干得利索不如想的明白。方案应该根据场景来设计,不是盲目的依靠经验,当然这也算新经验!    需求是把公司的几套公共系统做成通过邮箱用户名和密码认证,只需记...