You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas提取CSV含watermelon行时仅输出表头空文件如何解决

问题原因

你代码的核心错误是误用了字符串拼接实现通配符匹配逻辑:
"watermelon"+"*"在Python中只会直接拼接成固定字符串watermelon*,==是严格相等匹配,相当于你在找fruit列值完全等于watermelon*的行,自然找不到符合条件的数据,最终导出的文件只有表头。

正确实现方式

根据你的需求选对应写法即可:

  • 匹配fruit列所有包含watermelon子串的行(比如red watermelon、watermelon juice都能匹配到):
import pandas as pd
df = pd.read_csv("E:/Mac&cheese.csv")
# na=False参数是跳过fruit列的空值,避免匹配时报错
newdf = df[df["fruit"].str.contains("watermelon", na=False)]
# 如果需要忽略大小写匹配,加case=False参数:
# newdf = df[df["fruit"].str.contains("watermelon", na=False, case=False)]
newdf.to_csv("E:/Mac&cheese(2).csv",index=False)
  • 匹配fruit列以watermelon开头的行:
    把筛选条件替换为df["fruit"].str.startswith("watermelon", na=False)即可。

额外排查点

如果修改后还是没有数据,确认csv文件中对应列的列名是不是确实叫fruit,有无拼写错误、大小写差异。

内容的提问来源于stack exchange,提问作者Sabir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:27:03