小尹学python

导航

Python:读取ini文件并把内容写入excel的案例

import configparser
from openpyxl import load_workbook
from openpyxl import workbook
from openpyxl.styles import Alignment, Border, Side, Font, PatternFill, GradientFill
content = '''
[mysqld]
datadir = / var / lib / mysql
socket = / var / lib / mysql / mysql.sock
log - bin = py - mysql - bin
character - set - server = utf8
collation - server = utf8_general_ci
log - error = / var / log / mysqld.log
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic - links = 0

[mysqld_safe]
log - error = / var / log / mariadb / mariadb.log
pid - file = / var / run / mariadb / mariadb.pid

[client]
default - character - set = utf8
'''
# 以下是第一次做的
work_book = workbook.Workbook()
config = configparser.ConfigParser()
config.read(r'D:\Python\路飞\模块2\zuoye.ini',encoding='utf-8')
result = config.sections()
for rows,s_n in enumerate(result,0):
    count = 1
    sheet = work_book.create_sheet(s_n,rows)
    for key,value in config.items(s_n):
        cell_01 = sheet.cell(count, 1)
        cell_02 = sheet.cell(count, 2)
        cell_01.value = key
        cell_02.value = value
        if count == 1:
            cell_01.fill = PatternFill("solid",fgColor='00ffff')
            cell_02.fill = PatternFill("solid",fgColor='00ffff')
            cell_01.font = Font(color='FFFFFF')
            cell_02.font = Font(color='FFFFFF')
        cell_01.font = Font(name='微软雅黑',size='12')
        cell_02.font = Font(name='微软雅黑', size='12')
        cell_01.border = Border(top=Side(style='thin', color='EE9572'),
                                    bottom=Side(style='thin', color='EE9572'),
                                    left=Side(style='thin', color='EE9572'),
                            right=Side(style='thin', color='EE9572'),
                            diagonal=Side(style='thin', color='EE9572'))
        cell_02.border = Border(top=Side(style='thin', color='EE9572'),
                                bottom=Side(style='thin', color='EE9572'),
                                left=Side(style='thin', color='EE9572'),
                                right=Side(style='thin', color='EE9572'),
                                diagonal=Side(style='thin', color='EE9572'))
        count += 1
work_book.save('zuoye.xlsx')

#  精简后
work_book = workbook.Workbook()
config = configparser.ConfigParser()
config.read(r'D:\Python\路飞\模块2\zuoye.ini',encoding='utf-8')
result = config.sections()
for rows,s_n in enumerate(result,0):
    count = 1
    sheet = work_book.create_sheet(s_n,rows)
    for group in config.items(s_n):  # group生成的是元组
        for i ,text in enumerate(group,1):
            cell = sheet.cell(count,i)
            cell.value = text
            if count == 1:
                cell.fill = PatternFill("solid",fgColor='00ffff')
                cell.font = Font(color='FFFFFF')
            cell.font = Font(name='微软雅黑',size='12')
            cell.border = Border(top=Side(style='thin', color='EE9572'),
                                        bottom=Side(style='thin', color='EE9572'),
                                        left=Side(style='thin', color='EE9572'),
                                right=Side(style='thin', color='EE9572'),
                                diagonal=Side(style='thin', color='EE9572'))
        count += 1
work_book.save('zuoye1.xlsx')

posted on 2021-10-09 17:20  小尹学python  阅读(424)  评论(0)    收藏  举报