【发布时间】:2026-01-27 06:25:02
【问题描述】:
我有一个 CSV 文件,我想过滤它,只保留行“d”中的值大于 0 的行。
文件:
index value d
0 975 25.35 5
1 976 26.28 4
2 977 26.24 1
3 978 25.76 0
4 979 26.08 0
我用 pandas 来做到这一点,但没有成功:
df = pd.read_csv("ThisFileL.csv")
df = df[(df["d"]>0)]
我也使用了其他方法,但是处理600mb的文件太长了。
with open("ThisFileL.csv", 'rb') as source:
writer = csv.writer(source)
for line in source:
if line.d > 0 :
writer.writerow(headers)
【问题讨论】:
-
您的代码应该可以运行,您使用的是什么版本的 Pandas?
-
请注意,您的代码将修改数据框,但不会修改 csv 文件。如果要将过滤后的数据保存到文件中,需要调用
df.to_csv('filtered.csv')