如何读取指定格式文本文件并生成符合要求的Pandas DataFrame
正确实现方法
原代码错误原因
- 循环内每次迭代都重新创建DataFrame,没有提前汇总所有行的有效数据,最终无法得到完整的多行结果
- 仅做了冒号分割,没有对分割后的两段内容按
.做二次拆分,无法生成要求的4个独立字段
可直接运行的代码
import pandas as pd # 初始化列表存储每行的解析结果 data = [] with open("TableView.txt", "r", encoding="utf-8") as f: for line in f: line = line.strip() # 跳过空行 if not line: continue # 按冒号拆分左右两部分 left, right = line.split(":") # 二次拆分左右部分得到对应字段 base_s, base_t = left.split(".") dep_s, dep_n = right.split(".") # 存入列表,如果你不需要DEPN转小写,直接去掉.lower()即可 data.append([base_s, base_t, dep_s, dep_n.lower()]) # 一次性构建DataFrame并指定列名 df = pd.DataFrame(data, columns=["BaseS", "BASET", "DEPS", "DEPN"]) print(df)
运行上述代码后输出结果和你期望的格式完全一致。
内容的提问来源于stack exchange,提问作者rose
相关产品推荐
相关产品推荐

