首页 收藏 文章 闲言 友链

Python xlrd 模块获取 Excel 文件内容

2019-05-19 15:52:30 浏览:109 编辑:郑妙忠

前言:有时候需要移除掉 Excel 文件中列出来的文件,数量少还好,如果要删除的文件数量多达几百上千时,人工删除就要花费很多时间跟精力,可能还会删错,这个时候就要利用程序来替我们执行枯燥重复的操作。Python 就可以代替人做这些。

准备:
一、安装 xlrd 模块
pip install xlrd -i https://pypi.tuna.tsinghua.edu.cn/simple

注:-i https://pypi.tuna.tsinghua.edu.cn/simple是临时使用清华镜像安装。

二、xlrd 使用

打开 Excel 文件

excel_file = xlrd.open_workbook('file.xlsx')

获取所有 Sheet 名称,根据下标获取 Sheet 名称。

# 获取所有 Sheet 名称
sheet_names = excel_file.sheet_names()
print(sheet_names) # ['Sheet1', 'Sheet2', 'Sheet3']

# 根据下标获取 Sheet 名称
sheet_name = excel_file.sheet_names()[0]
print(sheet_name) # 'Sheet1'

根据 Sheet 索引或者名称获取 Sheet 内容,同时获取 Sheet 名称、行数、列数。

# 根据索引获取
sheet_content = excel_file.sheet_by_index(0)

# 根据名称获取
sheet_content = excel_file.sheet_by_name('Sheet1')

# 获取 Sheet 名称、列数、行数
print('\n名称:'+sheet_content.name, '\n列数:'+sheet_content.ncols, '\n行数'sheet_content.nrows)

根据 Sheet 索引获取整行和整列的值,同时遍历输出 Sheet 所有的值。

# 下标获取 Sheet 内容
sheet_content = excel_file.sheet_by_index(0)

# 获取第一行的值
print(sheet_content.row_values(0)) # ['col0,row0', 'col1,row0', 'col2,row0']

# 获取第一列的值
print(sheet_content.col_values(0)) # ['col0,row0', 'col0,row1', 'col0,row2']

# 遍历所有的值
for i in range(sheet_content.nrows): # 遍历行
  for j in range(sheet_content.ncols): # 遍历列
    print(sheet_content.row_values(i)[j], end=' | ') # 输出单元格内容不换行
  print() # 换行
'''
col0,row0 | col1,row0 | col2,row0 | 
col0,row1 | col1,row1 | col2,row1 | 
col0,row2 | col1,row2 | col2,row2 | 
col0,row3 | col1,row3 | col2,row3 | 
'''

注:有关 xlrd 模块操作 Excel 文件,例如文字加粗、文字颜色、背景颜色的操作请自行百度。

其他
python 管理文件
import os, shutil

# 判断目录或文件是否存在
os.path.exists(path) # path 是 directory 或 file 字符串,存在返回 true,不存在返回 false

# 创建目录
os.makedirs(directory) # directory 是目录字符串

# 移动文件
shutil.move(from_path, to_path) # 从 from_path 移动到 to_path,因为删除文件时要备份,所以 shutil.move() 就够用了。

# 拷贝文件
shutil.copyfile(from_path, to_path) # 从 from_path 复制到 to_path
END

留言 (共 0 条)