首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python:追加未添加到空列表

Python:追加未添加到空列表
EN

Stack Overflow用户
提问于 2022-02-07 01:24:33
回答 1查看 107关注 0票数 -1

嗨,对不起,如果这是一个明显的问题,看看网上,我似乎找不到我做错了什么。

我试图比较两个列表的内容,在两个单独的csv文件(文件A和文件B)。两个csv文件都是x行,但每个列只有1列。文件A由每个句子组成的行组成,B文件由单个单词组成。我的目标是搜索B文件中的行,如果这些行中有任何行出现在文件A中,则将相关行从文件A追加到要导出的单独的空列表中。我正在运行的代码如下:

代码语言:javascript
运行
复制
import pandas as pd
#Importing csv files

##File A is 2 rows of sentences in 1 column, e.g. "This list should be picked up for the word DISHWASHER" and "This sentence should not appear in list_AB"
file_A = pd.read_csv(r"C:\Users\User\Desktop\File\file_A.csv")

##File B is 2 rows of singular words that should appear in file A e.g. "DISHWASHER", "QWERTYXYZ123"
file_B = pd.read_csv(r"C:\Users\User\Desktop\File\file_B.csv", converters={i: str for i in range(10)})

#Convert csv files to lists
file_A2 = file_A.values.tolist()
file_B2 = file_B.values.tolist()

#Empty list
list_AB = []

#for loop supposed to filter file_A based on file_B
for x in file_A2:
    words = x[0].split(" ")
    #print(words)
    for y in file_B2:
        #print(y)
        if y in words:
            list_AB.append(x)

print(list_AB)

问题是,打印(List_AB)只返回一个空列表([]),而不是file_A的过滤版本。我之所以要这样做,是因为我想要读取的实际csv文件由21600 (文件A)和50400 (文件B)行组成。如果这是一个非常基本的问题,请提前道歉。

编辑:添加了csv文件的图片示例,无法看到如何上传文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-07 01:38:42

问题在if语句y in words中.

这里y是一个列表。您在字符串列表中搜索列表(而不是列表列表)。

使用y[0] in words解决您的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71012558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档