如何使用for循环将config.ini内容按逻辑格式转换为CSV文件
INI配置提取导出CSV实现方案
完全可以实现,直接用Python标准库就能完成,不需要安装第三方依赖。
实现逻辑
- 用内置的
configparser模块解析标准ini格式的配置文件,自动识别所有配置块和对应键值 - 通过
for循环遍历每一个配置块(即示例中[_1_ubu]、[_2_ubu]这类分段),按字段名提取需要的内容 - 用内置的
csv模块按固定表头顺序写入,导出可直接打开的CSV文件
完整可运行代码
import configparser import csv # 加载配置文件,注意替换成你的config.ini实际路径 config = configparser.ConfigParser() config.read('config.ini', encoding='utf-8') # 定义CSV表头和导出字段顺序 export_fields = ['control_name', 'outcome', 'sys_out', 'expected_out', 'remediation', 'severity'] # 循环提取字段并写入CSV with open('audit_result.csv', 'w', encoding='utf-8-sig', newline='') as csv_file: writer = csv.DictWriter(csv_file, fieldnames=export_fields) writer.writeheader() # 遍历所有配置分段 for section in config.sections(): current_row = {} for field in export_fields: current_row[field] = config[section].get(field, '') writer.writerow(current_row)
注意事项
- 写入CSV时使用
utf-8-sig编码,是为了兼容Excel直接打开不会出现中文乱码,如果仅用文本编辑器、数据分析工具打开,可替换为utf-8 - 代码里加了空值兜底,如果某个配置块缺少对应字段,会自动填空字符串,不会抛出报错中断运行
- 运行脚本前确认config.ini的键值对格式符合
键 = 值的规范,避免解析失败
导出效果参考

内容的提问来源于stack exchange,提问作者Ahsu21
相关产品推荐
相关产品推荐

