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

Python遍历多个CSV列转换的列表筛选值追加到新列表失败如何解决

问题原因

你判断的问题点是对的:Python中for i in ext1 or ext2的写法不会同时遍历两个列表。or逻辑符的规则是:如果前面的ext1是非空对象,就直接返回ext1,所以你当前的循环实际上只遍历了ext1列的所有值,完全没有处理ext2列的数据,因此漏掉了ext2中符合条件的2024-12-22。

修改方案

如果要同时遍历ext1和ext2两个列表的所有元素,直接把两个列表拼接后遍历即可,修改后代码如下:

# 导入模块
import pandas as pd

# 读取CSV文件
data = pd.read_csv("test.csv")

# 列数据转列表
ext1 = data['ext1'].tolist()
ext2 = data['ext2'].tolist()

ext = []

# 拼接两个列表后遍历筛选
for i in ext1 + ext2:
    if i >= "2022-03-01":
        ext.append(i)

print(*ext, sep="\n")

注:原写法from pandas import *属于不推荐的导入方式,改为import pandas as pd是行业通用规范,可避免命名空间污染。你当前用字符串直接对比日期是可行的,因为CSV里的日期是ISO标准格式,字符串字典序和时间顺序一致。

运行结果

修改后输出结果和你预期一致:

2023-01-20
2024-01-21
2024-12-22

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:45:03