(欢迎光临差–点先生博客)
(开发环境PyCharm 2022 Professional版,Python3.7)
一、使用openpyxl读取非加密excel
- 安装模块:
pip install openpyxl,导入模块:import openpyxl - 读取路径下的文件,创建工作簿对象:
workbook = openpyxl.load_workbook('文件路径') - 读取sheet页,读取激活的sheet页:
workbook_sheet = workbook.active,读取指定sheet页:workbook_sheet = workbook['sheet名称'] - 获取数据规模,最大行数:
data_maxrow = workbook_sheet.max_row,最大列数:data_maxcolumn = workbook_sheet.max_column - 获取指定单元格数据:
data = workbook_sheet.cell('行号', '列号').value - 写入值:
workbook_sheet.cell('行号', '列号').value = data - 保存修改:
workbook.save('文件路径') - 关闭工作簿对象:
workbook.close()
二、使用openpyxl读取加密excel
- 安装解密模块:
pip install msoffcrypto-tool - 导入模块:
import msoffcrypto - 创建文件对象,以二进制只读模式:
msoffcrypto.OfficeFile(open('文件路径', 'rb')) - 键入文件密码:
file.load_key(password='密码') - 将加密文件拷贝一份到指定路径解除密码
file.decrypt(open('保存路径', 'wb')) - 后续就可以用
openpyxl.load_workbook进行无密码读取继续相关操作
三、使用openpyxl新建excel
- 创建工作簿对象:
workbook = openpyxl.Workbook() - 取得sheet对象:
workbook_sheet = workbook.active - 插入一行数据:
workbook_sheet.append([数据列表]) - 保存excel:
workbook.save('保存的路径') - 关闭工作簿对象:
workbook.close()
四、使用pandas读取excel(比openpyxl快速)
import pandas
excel_name = r'C:\Users\Administrator\Desktop\xxx1.xlsx'
sheet_name = r'xxxSheet'
pd_excel = pandas.read_excel(excel_name, sheet_name=sheet_name, dtype='object')
# dtype='object'是为了防止读取excel数据时pandas自动转换,如果不加上的话000123自动转为123
table = pd_excel.values
for row in table:
for column in row:
print(column)
# 转为列表格式
excel_list = pd_excel.values.tolist()
# 转为字典格式
excel_dict = pd_excel.to_dict('records') # orient='records'参数告诉to_dict函数将DataFrame的每一行转换为一个字典
五、使用pandas创建excel(比openpyxl快速)
nameList = []
valueList = []
for i in table:
nameList.append(i[1])
valueList.append(i[5])
df = pandas.DataFrame({'用户名': nameList, '所属公司': valueList})
df.to_excel(r'C:\Users\Administrator\Desktop\df结果表.xlsx', sheet_name='Sheet1', index=False)

这篇博客介绍了如何使用Python的openpyxl库读取非加密和加密Excel文件,以及新建Excel文件。对于加密文件,首先使用msoffcrypto-tool解密,然后进行读取。此外,还展示了pandas的高效读写Excel功能,以及在读取时防止数据类型自动转换的方法。
3068

被折叠的 条评论
为什么被折叠?



