如何用Python实现基于Pandas DataFrame的递增文本写入功能
解决方案
完整修改后的代码
# 初始化递增计数器,从1开始 count = 1 with open("test.txt","a") as myfile: for key, row in df.iterrows(): # 匹配DataFrame的列名(注意大小写),同时判断两个条件 if (row['similarity'] > 0.5) and (row['polarity'] == "POSITIF"): # 用f-string将计数器插入到序号位置 output_line = f':membangun({count}) rdf:type owl:ObjectProperty ;\n rdfs:subPropertyOf :membangun .\n' myfile.write(output_line) # 计数器加1,为下一个符合条件的条目准备 count += 1
关键修改点说明
- 添加计数器:在循环前定义
count = 1,用来跟踪符合条件的条目序号,每次写入后自动加1,实现从1开始的递增。 - 修正列名大小写:原代码中
row['Similarity']的大写S和你的DataFrame列名similarity不匹配,改成小写后可以避免运行报错。 - 使用f-string格式化文本:用
f''语法把count变量直接嵌入到字符串的(i)位置,生成带动态序号的文本行。 - 严谨的条件判断:把
'POSITIF' in row['polarity']改成row['polarity'] == "POSITIF",确保只有完全匹配"POSITIF"的行才会被选中,避免误判。 - 添加换行符:在输出行末尾加
\n,保证每个条目单独占一行,让输出文件更整洁。
内容的提问来源于stack exchange,提问作者Marshall
相关产品推荐
相关产品推荐

