python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python excel遍历xlrd

python读取excel进行遍历/xlrd模块操作

作者:小恩阿

这篇文章主要介绍了python读取excel进行遍历/xlrd模块操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我就废话不多说了,大家还是直接看代码吧~

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import csv
import xlrd
import xlwt

def handler_excel(filename=r'/Users/zongyang.yu/horizon/ops_platform/assets/upload/1.xlsl'):

  # 打开文件
  workbook = xlrd.open_workbook(filename)
  index = workbook.sheet_names()[0]
  sheet2 = workbook.sheet_by_name(index)
  
  #遍历
  nrows = sheet2.nrows
  for i in range(nrows):
    print(sheet2.row_values(i))

if __name__ == '__main__':
  handler_excel()

补充知识:Python遍历一个文件夹下有几个Excel文件及每个Excel文件有几个Sheet

一、 解决问题:

工作中常会遇到合并Excel文件的需求,Excel文件数量不确定,里面的Sheet 数量是可变的,Sheet Name是可变的,所以,需要用到遍历一个文件夹下有几个Excel文件,判断每个

Excel文件有几个Sheet,Sheet name是什么。

二、系统环境:

OS:Win 10 64位

Python版本:3.7

三、准备:

1、文件路径:C:\Work\Python\MergeExel

编写的python文件放在此文件路径下

2、在上面这个文件路径下建立一个Source文件夹,把待合并的Exel文件拷贝到Source文件夹里

代码参考:

# -*- coding:utf-8 -*-
#模块功能:判断某个文件夹下有几个Excel文件,每个Excel有几个Sheet及Sheet Name

import os
import openpyxl

def getFileNames(path):
  filenames = os.listdir(path)
  for i, filename in enumerate(filenames):
     if i==0:
      iSpecialFile=i+1
      sFileName=filename

     print('==================第%s个文件========================='%(i+1))
     print('文件名:%s'%(filename))
     getSheetNames(path,filename)
  print('\n')
  print('--------------------选择指定的第几个文件-------------------------')
  print('指定的是第%s个文件:'%iSpecialFile+sFileName )
  print('----------------------------------------------------------------')

def getSheetNames(path,sFileName):
  wb = openpyxl.load_workbook(path+'\\'+sFileName)
  # 获取workbook中所有的表格
  sheets = wb.sheetnames

  # 循环遍历所有sheet
  for i in range(len(sheets)):
    sheet = wb[sheets[i]]
    print('第' + str(i + 1) + '个sheet Name: ' + sheet.title)

if __name__=='__main__':
  path=r'C:\\Work\\Python\\MergeExcel\\Source'
  getFileNames(path)

以上这篇python读取excel进行遍历/xlrd模块操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文