# 导出数据表和分析结果
for db, tables in db_structure.items():
for table, content in tables.items():
data = content['samples']
columns = content['columns']

df = pd.DataFrame(data, columns=columns)

# 标注敏感字段
sensitive_cols = analysis_result.get('sensitive_fields', {}).get(db, {}).get(table, [])
sensitive_marks = ['敏感字段' if col in sensitive_cols else '' for col in columns]
mark_row = pd.DataFrame([sensitive_marks], columns=columns)
df = pd.concat([mark_row, df], ignore_index=True)

# 写入 Excel
sheet_name = f"{db}_{table}"[:31]
df.to_excel(writer, sheet_name=sheet_name, index=False)

writer.close()
print(f" 数据导出完成:{OUTPUT_FILE}")


# ====== 主流程 ======
def main():
# 连接数据库
conn = connect_db()
if not conn:
return

# 步骤 1:采集数据库信息
db_structure, server_info, access_logs = collect_db_info(conn)

# 步骤 2:利用 OpenAI 分析敏感信息
analysis_result = analyze_with_openai({
"db_structure": db_structure,
"server_info": server_info,
"access_logs": access_logs
})

# 步骤 3:导出数据和分析结果到 Excel
export_to_excel(db_structure, server_info, access_logs, analysis_result)

# 关闭连接
conn.close()
print("\n 整体流程完成!")


if name == "main":
main()

`
 
 
Back to Top