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

yipeiwu_com5年前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列表每个元素同增同减和列表元素去空格的实例

如下所示: import os var = [1, 2, 3] data = [x*2 for x in var] print (data) two = [[i, i**2] f...

Python中字符串的修改及传参详解

Python中字符串的修改及传参详解

发现问题 最近在面试的时候遇到一个题目,选择用JavaScript或者Python实现字符串反转,我选择了Python,然后写出了代码(错误的): #!/usr/bin/env py...

python实现线程池的方法

本文实例讲述了python实现线程池的方法。分享给大家供大家参考。具体如下: 原理:建立一个任务队列,然多个线程都从这个任务队列中取出任务然后执行,当然任务队列要加锁,详细请看代码 文件...

Python中import导入上一级目录模块及循环import问题的解决

import上一级目录的模块 python中,import module会去sys.path搜索,sys.path是个列表,并且我们可以动态修改。 要import某个目录的module,...

numpy判断数值类型、过滤出数值型数据的方法

numpy是无法直接判断出由数值与字符混合组成的数组中的数值型数据的,因为由数值类型和字符类型组成的numpy数组已经不是数值类型的数组了,而是dtype='<U11'。 1、ma...