python 处理xls文件,读取创建者,最后一次修改者的文件属性信息,应该如何操作?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 处理xls文件,读取创建者,最后一次修改者的文件属性信息,应该如何操作?相关的知识,希望对你有一定的参考价值。

处理xlsx文件的方法,没找到处理xls的方法:
import unicodecsv as csv
import zipfile
from lxml import etree
import os

def write_result(address,result_lists):
with open(address, 'wb') as f:
writer = csv.writer(f,encoding='gbk')
writer.writerow(['excel_name','auther','create_time','last_modify_person','last_modify_time'])
writer.writerows(result_lists)

def get_excel_author(excel_file,name):
zf = zipfile.ZipFile(excel_file,'r')
doc = etree.fromstring(zf.read('docProps/core.xml'))
attr_nodes = doc.getchildren()
message_list = []
message_list.append(name)
message_list.append(attr_nodes[0].text)
message_list.append(attr_nodes[2].text)
message_list.append(attr_nodes[1].text)
message_list.append(attr_nodes[3].text)
return message_list

def file_name(file_dir):
for root, dirs, files in os.walk(file_dir):
# print()
return files # 当前路径下所有非目录子文件

if __name__ == '__main__':
print("使用方法")
print("1、将所有Excel放入一个文件夹中")
print("2、将文件夹地址输入,地址如下所示,一定注意斜杠的使用")
print("地址方式:C:/Users/hu.chaolin/Desktop/haha")
print("3、等待excel文件分析处理")
print("4、根据提示输入分析结果保存地址-其他路径文件夹")
print("5、根据提示输入结果文件名称,例子:excel文件属性分析结果")
print("结束:请到保存结果的路径查看文件结果,结果为csv文件")

address = input("请输入电脑中包含所有EXCEL表的文件夹:")
name_list = file_name(address)
result_lists = []
for name in name_list:
excel_address = address+"/"+name
result = get_excel_author(excel_address,name)
result_lists.append(result)
address2 = input("请输入需要保存结果的位置:")
text_name = input("请输入保存的文件名称:")
test_address = address2+"/"+text_name+".csv"
write_result(test_address,result_lists)
input("输入任意键结束")

Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。 参考技术A python处理xls文件的包/模块很多,如xlrd、xlwt、openpyxl,以及pandas等,具体操作方法查看相关文档就可以。由于处理方式具有针对性,所以一看就能明白,其操作如:打开文件,打开哪一sheet,选取哪一行、列、单元格等。

Python处理excel文件

用Python处理excel文件,通常会选用xlrd和xlwt这两个库,xlrd是用来读excel,xlwt是写excel的库。
xlrd可以读取.xls或者.xlsx格式的文件数据。
xlwt可以写入.xls文件数据。

xlrd

安装

pip install xlrd

读取excel

通过xlrd.open_workbook获取一个Book实例的类,通过这个类,可以对excel进行相关的读取操作

import xlrd
book = xlrd.open_workbook(filepath)

常见操作

1.查看全部的sheets工作表

book.sheet_names()
返回包含所有sheet名字的列表。

2.读取某个sheet工作表

1.按索引
table = book.sheets()[index]
book.sheets()会返回一个元素是sheet的列表,然后你可以在这个列表中索引出你想要的工作表。
table = book.sheet_by_index(sheet_index))
2.按名称
table = book.sheet_by_name(sheet_name))

3.获取某个工作表的特征

1.工作表的属性

# 获取工作表的行数
nrows = table.nrows
# 获取工作表的列数
ncols = table.ncols

2.读取工作表

# 按行操作
table.row(rowx)  # 返回行对象的值(返回类型为列表,元素格式:类型:值,比如:number:1)
table.row_values(rowx, start_colx=0, end_colx=None)  # 返回行对象值
table.row(rowx)[colx].value  # 返回rowx,colx的值
table.slice(rowx, start_colx=0, end_colx=None)  # 返回rowx指定列的值
# 按索引返回某列数据
table.col(colx)  # 返回列对象的值
table.col_values(colx)  # 返回列对象值
table.col(colx)[rowx].value  # 返回colx,rowx的值
table.slice(colx, start_rowx=0, end_rowx=None)  # 返回colx指定行的值
# 单元格操作
table.cell(rowx, colx)  # 返回单元格对象
table.cell_type(rowx, colx)  # 返回单元格中的数据类型
table.cell_value(rowx, colx)  # 返回单元格中的数据

xlwt

安装

pip install xlwt

创建excel文件

import xlwt
# 创建一个workbook 设置编码
workbook = xlwt.Workbook()
# 创建一个worksheet
worksheet = workbook.add_sheet()
worksheet.write(r, c, label='', style=<xlwt.Style.XFStyle object>)  # r,c表示row和col,label写入数据
worksheet.save(filepath)  # 保存文件

参考

xlrd官方文档
Python里面的xlrd模块详解
Python-xlrd — 利用Python操作Excel表格
python使用xlwt模块操作Excel
xlwt官方文档

以上是关于python 处理xls文件,读取创建者,最后一次修改者的文件属性信息,应该如何操作?的主要内容,如果未能解决你的问题,请参考以下文章

python 读取xls文件

使用 Python 读取/解析 Excel (xls) 文件 [关闭]

python读取xls文件

从 .xls 文件读取数据时出现 Python 错误

python-读取xls文件

从python中的xls或xlsx文件读取后将数据转换为字符串