Python如何解析固定格式文本生成DataFrame并转换导出为Excel
实现方案
依赖安装
执行以下命令安装所需工具库:
pip install pandas openpyxl
完整代码
import re import pandas as pd # 读取原始文本文件 with open("input.txt", "r", encoding="utf-8") as f: text_content = f.read() # 匹配所有edit到next之间的数据块 block_reg = re.compile(r'edit\s+"(.*?)"(.*?)next', re.DOTALL) data_blocks = block_reg.findall(text_content) all_rows = [] # 固定列顺序,保证输出和预期结构一致 col_order = ["title", "animal", "wild-animal", "tameanimal", "bird", "bug"] for title, block_content in data_blocks: current_row = {"title": title} # 匹配当前块内所有set开头的配置行 set_reg = re.compile(r'set\s+(\S+)\s+(.*?)\s*$', re.MULTILINE) set_items = set_reg.findall(block_content) for key, raw_value in set_items: # 去除值首尾的双引号 processed_value = raw_value.strip('"') current_row[key] = processed_value all_rows.append(current_row) # 转换为DataFrame并导出Excel df = pd.DataFrame(all_rows, columns=col_order) df.to_excel("output.xlsx", index=False)
使用说明
- 将你的原始文本内容保存为和脚本同目录的
input.txt文件 - 运行上述脚本,执行完成后同目录会生成
output.xlsx,表格结构和你要求的完全一致
内容的提问来源于stack exchange,提问作者Discover
相关产品推荐
相关产品推荐

