Python读取和写入Excel文件数据

前言

之前我们已经学过了Python读取和写入txt,csv文件数据的操作,今天我们学习一下如何利用Python读取和写入Excel文件数据的操作。

一:Python读取Excel文件数据。

(1)创建Excel数据文件,创建好文件记得要关闭文件,不然读取不了文件内容.

(2)打开PyCharm,,创建python file ,写入以下代码

#读取xls文件,一定要把xlsx后缀改成xls
import xlrd
file_name = xlrd.open_workbook('G:\info.xls')#得到文件
table =file_name.sheets()[0]#得到sheet页
nrows = table.nrows #总行数
ncols = table.ncols #总列数
i = 0
while i < nrows:
    cell = table.row_values(i)[1] #得到数字列数据
    ctype = table.cell(i, 1).ctype #得到数字列数据的格式
    username=table.row_values(i)[0]
    if ctype == 2 and cell % 1 == 0: #判断是否是纯数字
     password= int(cell)  #是纯数字就转化位int类型
     print('用户名:%s'%username,'密码:%s'%password)
    i=i+1

(3)运行后的结果如下

二:Python写入Excel文件数据。

(1)打开PyCharm,,创建python file ,写入以下代码

import random
import string
import csv
import xlrd
import xlwt
#注意这里的 excel 文件的后缀是 xls 如果是 xlsx 打开是会提示无效,新建excel表格后要选择文本格式保存
all_str = string.ascii_letters + string.digits
excelpath =('G:\user.xls')  #新建excel文件
workbook = xlwt.Workbook(encoding='utf-8')  #写入excel文件
sheet = workbook.add_sheet('Sheet1',cell_overwrite_ok=True)  #新增一个sheet工作表
headlist=[u'账号',u'密码',u'邮箱']   #写入数据头
row=0
col=0
for head in headlist:
    sheet.write(row,col,head)
    col=col+1
for i in range(1,4):#写入3行数据
    for j in range(1,3):#写入3列数据
        username = ''.join(random.sample(all_str, 5))+'#$%'
        # password = random.randint(100000, 999999) 生成随机数
        password= ''.join(random.sample(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'z', 'y', 'x', 'w)', 'v', 'u', 't', 's', 'r', 'q', 'p', 'o',
            'n', 'm', 'l', 'k', 'j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a'],8))
        Email=''.join(random.sample(all_str, 5))+'@163.com'
        sheet.write(i,j-1,username)
        sheet.write(i,j,password)
        sheet.write(i,j,Email)
        # sheet.write(i-1, j-1, username)   没有写标题时数据从第一行开始写入
        # sheet.write(i-1, j, password)
    workbook.save(excelpath) #保存
    print(u"生成第[%d]个账号"%(i))

(2)运行后的结果如下

生成Excel文件

以上就是利用Python代码读取和写入Excel文件数据的操作,小伙们学会了吗?

原文地址:https://www.cnblogs.com/zhangwuxuan/p/12433350.html