【问题标题】:Compare all values in a column with another column in CSV Python将列中的所有值与 CSV Python 中的另一列进行比较
【发布时间】:2021-07-21 19:06:35
【问题描述】:

我正在尝试将 2 列的 CSV 文件与具有 1500 个值的第一列和具有 900 个值的第二列进行比较。

例子:

ValueA ValueB
ValueB ValueC
ValueD ValueA
Valuec ValueD
ValueF
ValueG
ValueH
ValueZ

输出逻辑是从第 1 列中取一个值并与第 2 列中的所有值进行比较:

  1. 如果匹配,什么也不做
  2. 如果不匹配,则将该值输出到名为 results.csv 的文件中

我对编程非常陌生,我一直在寻找有关此特定逻辑的网站,但没有找到。

非常感谢您对此提供的任何帮助。提前致谢。

【问题讨论】:

    标签: python csv


    【解决方案1】:

    首先,最好的办法是使用内置的 Python CSV 库将所有​​内容加载到两个不同的数组中,如下所示:

    import csv
    leftCol = []
    rightCol = []
    with open('example.csv') as csvFile:
        reader = csv.reader(csvFile)
        for row in reader:
            if len(row) > 0:
                leftCol.append(row[0])
            if len(row) > 1:
                rightCol.append(row[1])
    

    然后您将两列存储在漂亮的数组中,leftCol 和 rightCol。然后进行比较:

     for leftItem in leftCol:
          for rightItem in rightCol:
              if leftItem != rightItem:
                  print(leftItem)
    

    在这种情况下,它只是打印它,但您可以将打印交换为文件写入或其他内容。

    【讨论】:

    • 谢谢@Lumorti 这有帮助。我想要不相等的项目,所以在if 语句中我将== 更改为!=
    • 哎呀,对不起,误读了那一点!很高兴它有所帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-05
    • 1970-01-01
    相关资源
    最近更新 更多