如何将DataFrame符合条件内容写入文本文件指定行上方?
实现将指定内容写入文件第119行上方
要实现把符合条件的内容插入到文件第119行上方,需要先读取文件所有内容,在指定位置插入新内容后再写回文件,具体步骤和代码如下:
步骤1:提前收集所有要插入的内容
先从DataFrame中筛选出符合条件的行,把要写入的内容一次性收集成列表,避免频繁操作文件:
# 收集符合条件的插入行 insert_content = [] for _, row in df.iterrows(): if row['Similarity'] > 0.5 and 'POSITIF' in row['polarity']: # 末尾加换行符,保证和原文件格式一致 insert_content.append('untitled-ontology-5:membangun untitled-ontology-5:positif ;\n')
步骤2:读取文件并插入内容
读取原文件的所有行,将收集好的内容插入到第119行上方(Python中列表索引是0-based,第119行对应索引118),最后写回文件:
file_name = "testttttt.txt" # 读取文件所有行 with open(file_name, 'r', encoding='utf-8') as f: all_lines = f.readlines() # 计算插入位置:第119行上方对应0-based索引118 insert_index = 118 # 插入内容到指定位置 all_lines = all_lines[:insert_index] + insert_content + all_lines[insert_index:] # 将修改后的内容写回文件 with open(file_name, 'w', encoding='utf-8') as f: f.writelines(all_lines)
注意事项
- 若原文件行数不足119行,代码会自动将内容插入到文件末尾,和原追加逻辑一致。
- 加上
encoding='utf-8'参数可避免特殊字符或中文出现乱码问题。 - 插入内容的顺序会和DataFrame中筛选的顺序保持一致,无需额外调整。
内容的提问来源于stack exchange,提问作者Marshall
相关产品推荐
相关产品推荐

