嘿,你是不是在处理Excel文件时感到束手无策?是不是想要一个简单而又强大的工具来处理数据分析和图表制作?别担心,我们有解决方案! 让我向你介绍openpyxl,这是一个Python库,专门用于处理Excel文件。无论是读取、编辑还是创建Excel文件,openpyxl都能轻松应对。无需手动操作Excel,使用openpyxl,您可以自动化处理任意数量的数据。 令人惊叹的是,openpyxl不仅仅是一个普通的Excel库。它提供了丰富而强大的功能,包括创建和修改图表,设置数据标签,导入和导出不同格式的数据等等。您可以根据自己的需求灵活调整代码,实现各种复杂的操作。 在我们的最新博客文章中,我们将深入介绍openpyxl的各种功能和用法。您将学习如何轻松读取和写入Excel文件、如何创建和定制图表以及如何进行数据处理和分析。无论您是初学者还是有经验的开发者,这篇博客都将为您提供宝贵的知识和技巧。 不仅如此,通过openpyxl,您将获得高效而且可靠的处理Excel文件的解决方案。您可以节省大量的时间和精力,提高工作效率,从而专注于更重要的任务和项目。 感兴趣了吗?赶快来阅读我们的博客文章,了解openpyxl如何成为您数据分析的得力助手!不仅仅是学习,还可以将这些技能应用于实际工作中,展现您在数据处理方面的专业能力。 别再被Excel困扰,跟随我们的指南,掌握openpyxl,成为Excel大师!点击链接阅读完整文章:[博客链接]。 我们期待您的阅读和探索!让openpyxl成为您的数据分析利器!
安装
pip install openpyxl
创建工作簿
import openpyxl
wb = openpyxl.Workbook() # 创建excel
# sh1 = wb.active # 激活第1个工作薄
# sh2 = wb.create_sheet('数据') # 创建工作薄
sh3 = wb.create_sheet('人员', 0) # 在指定位置创建工作薄
wb.save('./新建工作簿.xlsx') # 保存
打开工作簿
import openpyxl
wb = openpyxl.load_workbook('./新建工作簿.xlsx') # 加载excel
# sh1 = wb.active # 获取第一个工作薄
# sh2 = wb.get_sheet_by_name('人员') # 根据名字获取工作薄
sh3 = wb['人员'] # 根据名字获取工作薄
wb.save('./新建工作簿.xlsx') # 保存
准确填写
# 填写数据 A1:第A列第1行,单元格填写Hello
sh3['A1'] = 'Hello'
sh3['B2'] = 'Excel'
sh3['C3'] = 'Python'
遍历填写
data = ['Hello', 'Excel', 'Python']
for i, d in enumerate(data):
sh3.cell(1, i + 1).value = d # cell(行,列)
整行追加填写
# 在最后一行数据后,追加一行数据
data = ['Hello', 'Excel', 'Python']
sh3.append(data)
获取工作簿信息
import openpyxl
wb = openpyxl.load_workbook('./新建工作簿.xlsx') # 加载excel
print(wb.sheetnames) # ['人员', 'Sheet']
for sh in wb:
print(sh.title) # 人员/Sheet
获取单元格数据
import openpyxl
wb = openpyxl.load_workbook('./新建工作簿.xlsx') # 加载excel
sh1 = wb.active
print(sh1.cell(2, 1).value) #2行1列 逆战
print(sh1['a2'].value) # A列2行 逆战
from openpyxl.styles import Border, Side, colors, PatternFill, Font
# 创建一个字体样式对象
ft1 = Font(name='微软雅黑', size=30, italic=True, bold=True, color=colors.BLUE)
# 将字体的样式应用到单元格
ws['B2'].font = ft1
from openpyxl.styles import Border, Side, colors, PatternFill, Font
# 创建一个对齐方式对象
aligment = Alignment(horizontal='left', vertical='top')
aligment2 = Alignment(horizontal='right', vertical='bottom')
# 设置单元格的宽与高
ws.row_dimensions[1].height = 50
ws.column_dimensions['A'].width = 50
# 将对齐方式应用到单元格
ws['B2'].alignment = aligment
ws['C3'].alignment = aligment2
from openpyxl.styles import Border, Side, colors, PatternFill, Font
# 创建一个线的样式对象
side = Side(color=colors.BLUE, style='medium')
side2 = Side(color='00008000', style='double')
# 创建边框样式对象
border = Border(left=side, right=side2, top=side, bottom=side2)
# 将边框样式应用到单元格
ws['B2'].border = border
from openpyxl.styles import Border, Side, colors, PatternFill, Font
# 创建背景的样式对象
pattern =PatternFill('solid', fgColor=colors.BLUE)
# 将背景颜色样式应用单元格, 不要用pattern属性
ws['B2'].fill = pattern # AttributeError: 'Cell' object has no attribute 'pattern'