前言:
而今朋友们对“打开文件python代码”大约比较关注,各位老铁们都想要知道一些“打开文件python代码”的相关知识。那么小编在网摘上网罗了一些对于“打开文件python代码””的相关知识,希望看官们能喜欢,兄弟们快快来学习一下吧!#视情况确定引入必要的方法或类from openpyxl import load_workbook, open, Workbookfrom openpyxl.styles import Alignment, Border, Side, Color, PatternFill, GradientFill, Font, DEFAULT_FONT, Protection, Namestyle#下面两行代码用于解决openpyxl设置列宽的"缩水"问题,在新建工作簿前运行#需要设置列宽时,在列宽字符数后加上5/8,#默认字体字号不同,增加值不同,比如宋体/Arial 10磅 +5/7DEFAULT_FONT.name='宋体'DEFAULT_FONT.size=11 #磅一、操作工作簿#打开工作簿1. wb=load_workbook('文件.xlsx') #常用2. wb=open('文件.xlsx') #不常用#关闭工作簿wb.close()#新建工作簿wb=Workbook()#保存工作簿wb.save('文件.xlsx')二、操作工作表#获取当前工作表,新建工作簿后就会自动生成一个工作表sheet=wb.active#获取特定工作表1. sheet=wb['Sheet1']2. sheet=wb.get_sheet_by_name('Sheet1')#新建工作表sheet=wb.create_sheet('Sheet1', 0)#新建图表sheet=wb.create_chartsheet()#删除工作表wb.remove(sheet)#命名工作表sheet.title='Sheet1'#更多工作表方法sheet.add_chartsheet.add_data_validationsheet.add_imagesheet.add_pivotsheet.add_tablesheet.delete_colssheet.delete_rowssheet.insert_colssheet.insert_rowssheet.freeze_panes#设置行高sheet.row_dimensions[1].height=17 #17磅#设置列宽sheet.column_dimensions['A'].width=10+5/8 (10字符宽,默认字体为宋体11磅时加5/8)#设置页眉(所有页眉格式相同时,仅设置oddHeader)sheet.oddHeader.center.text = 'Page &[Page] of &[Pages]'#设置奇偶页眉不同sheet.HeaderFooter.differentOddEven=Truesheet.oddHeader.center.text = 'Page &[Page] of &[Pages]'sheet.evenHeader.center.text = '&[Pages]'#设置首页页眉sheet.firstHeader.center.text='Page &[Page] of &[Pages]'#设置页脚(所有页脚格式相同时,仅设置oddFooter)sheet.oddFooter.center.text = 'Page &[Page] of &[Pages]'#设置奇偶页脚不同sheet.HeaderFooter.differentOddEven=Truesheet.oddFooter.center.text = 'Page &[Page] of &[Pages]'sheet.evenFooter.center.text = '&[Pages]'#设置首页页脚sheet.firstFooter.center.text='Page &[Page] of &[Pages]'#设置纸张和方向(一般使用默认值,除非特殊需要)sheet.page_setup.paperSize=9 #默认9, 即A4sheet.page_setup.orientation='default' #default|portrait|landscape#设置边距 单位英寸 1英寸=2.54厘米sheet.page_margins.top=1 #默认1英寸sheet.page_margins.bottom=1 #默认1英寸sheet.page_margins.left=0.75 #默认0.75英寸sheet.page_margins.right=0.75 #默认0.75英寸sheet.page_margins.header=0.5 #默认0.5英寸sheet.page_margins.footer=0.5 #默认0.5英寸#设置打印页面时内容居中sheet.print_options.horizontalCentered=True #水平居中sheet.print_options.verticalCentered=False #垂直居中#更多打印设置sheet.page_setupsheet.print_titlessheet.print_area='A1:D4'sheet.print_title_cols='A:C'sheet.print_title_rows='1:3'三、操作单元格#访问单元格1. sheet['A1']2. sheet.cell(1,1)3. sheet.cell(1,1).offset(0,2) #访问偏移单元格#写单元格1. sheet['A1']='hello' | sheet['A1'].value='hello' #使用sheet['A1']访问单元格时,可以省略value2. sheet.cell(1,1, 'hello') #不提倡3. sheet.cell(1,1).value='hello' #使用sheet.cell(1,1)访问单元格时,不能省略value4. sheet.cell(1,1, 'hello').font.name='宋体' #一行代码做两件事5. sheet.append([1,2,3]) #只能从表格结尾首列起写入,有局限性6. sheet.cell(1,1).hyperlink='; #写入超链#遍历单元格sheet.columnssheet.rowssheet.iter_cols()sheet.iter_rows()sheet.valuessheet['A'] #返回A列所有单元格sheet['A:C'] #返回前三列所有单元格sheet[1] #返回第1行所有单元格sheet[1:3] #返回前3行所有单元格for cell in sheet['a1:d4'][0]: #不能省略[0] cell.value=10#单元格合并和解除sheet.merge_cellssheet.unmerge_cells#设置格式和样式 样式是格式的组合,即:一个样式可以包含多个格式。#设置单元格格式对应Excel设置单元格格式对话框中的数字,对齐,字体,边框,填充,保护#数字 sheet['A1'].number_format='General' #可以设置的值见数字格式列表#对齐 sheet['A1'].alignment=Alignment(horizontal='left', vertical='center') #更多参数见print(Alignment())#字体 sheet['A1'].font=Font(name="Arial", size=14, bold=True) #更多参数见 print(Font())#边框 thin = Side(border_style="thin", color=pink) sheet['A1'].border=Border(left=thin, right=thin, top=thin, bottom=thin) #更多参数见print(Border())#填充 sheet['A1'].fill = PatternFill(start_color='FF0000', end_color='FF0000', fill_type = "solid") sheet['A1'].fill = GradientFill(stop=("000000", "FFFFFF")) #渐变填充#保护 sheet['a1'].protection=Protection(hidden=False, locked=True) #不常用#数字格式列表 参见openpyxl/styles/numbers.py 0: 'General', 1: '0', 2: '0.00', 3: '#,##0', 4: '#,##0.00', 5: '"$"#,##0_);("$"#,##0)', 6: '"$"#,##0_);[Red]("$"#,##0)', 7: '"$"#,##0.00_);("$"#,##0.00)', 8: '"$"#,##0.00_);[Red]("$"#,##0.00)', 9: '0%', 10: '0.00%', 11: '0.00E+00', 12: '# ?/?', 13: '# ??/??', 14: 'mm-dd-yy', 15: 'd-mmm-yy', 16: 'd-mmm', 17: 'mmm-yy', 18: 'h:mm AM/PM', 19: 'h:mm:ss AM/PM', 20: 'h:mm', 21: 'h:mm:ss', 22: 'm/d/yy h:mm', 37: '#,##0_);(#,##0)', 38: '#,##0_);[Red](#,##0)', 39: '#,##0.00_);(#,##0.00)', 40: '#,##0.00_);[Red](#,##0.00)', 41: r'_(* #,##0_);_(* \(#,##0\);_(* "-"_);_(@_)', 42: r'_("$"* #,##0_);_("$"* \(#,##0\);_("$"* "-"_);_(@_)', 43: r'_(* #,##0.00_);_(* \(#,##0.00\);_(* "-"??_);_(@_)', 44: r'_("$"* #,##0.00_)_("$"* \(#,##0.00\)_("$"* "-"??_)_(@_)', 45: 'mm:ss', 46: '[h]:mm:ss', 47: 'mmss.0', 48: '##0.0E+0', 49: '@'#使用内置样式,不需要引入builtins模块。可用内置样式见内置样式列表sheet['A1'].style='Title'#内置样式列表 参见openpyxl/styles/builtins.pyfrom openpyxl.styles import builtinsbuiltins.styles.keys()dict_keys(['Normal', 'Comma', 'Currency', 'Percent', 'Comma [0]', 'Currency [0]', 'Hyperlink', 'Followed Hyperlink', 'Note', 'Warning Text', 'Title', 'Headline 1', 'Headline 2', 'Headline 3', 'Headline 4', 'Input', 'Output', 'Calculation', 'Check Cell', 'Linked Cell', 'Total', 'Good', 'Bad', 'Neutral', 'Accent1', '20 % - Accent1', '40 % - Accent1', '60 % - Accent1', 'Accent2', '20 % - Accent2', '40 % - Accent2', '60 % - Accent2', 'Accent3', '20 % - Accent3', '40 % - Accent3', '60 % - Accent3', 'Accent4', '20 % - Accent4', '40 % - Accent4', '60 % - Accent4', 'Accent5', '20 % - Accent5', '40 % - Accent5', '60 % - Accent5', 'Accent6', '20 % - Accent6', '40 % - Accent6', '60 % - Accent6', 'Explanatory Text', 'Pandas'])#使用自定义样式(namedstyle) ,可以一行代码为单元格设置多个格式。#ns=NamedStyle(name=, font=, fill=, border=, alignment=, number_format=, protection=)#示例:font=Font(name='Calibri', bold=True, size=22)thick=Side(style='thick', color='FF0000')border=Border(left=thick, right=thick, top=thick, bottom=thick)ud=NamedStyle(name='ud', font=font, border=border)sheet['A1'].style=ud
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #打开文件python代码