【问题标题】:Get Values from CSV to pass as Arguments in Array/List (Python)从 CSV 获取值以作为数组/列表中的参数传递 (Python)
【发布时间】:2022-11-28 18:42:59
【问题描述】:

我想从一个 CSV 中找到另一个 CSV 中的值,并相应地修改/删除行。

删除已经很有效了,但我想尽可能地自动化这个过程。

所以我的问题是如何将 serachforthat.csv(第 [0] 列)中的所有值放入一种数组或列表中,并使用它来运行 all.csv。

到目前为止我得到了什么:

*args = "searchforthat.csv[0]" # These are my values

import csv
with open('all.csv', 'r') as inp, open('final.csv', 'w') as out:
writer = csv.writer(out)
for row in csv.reader(inp):
    if row[3] != args: # That does not work :(
        writer.writerow(row)

我对 python 完全陌生,对正确的编写方法有点困惑......

【问题讨论】:

    标签: python arrays list csv writer


    【解决方案1】:

    您必须首先从文件中获取 searchforthat.csv 第一列中的值。

    search_values = []
    with open('searchforthat.csv', 'r') as sfile:
        lines = [line.replace("
    ", "") for line in sfile.readlines()]
        search_values = [line.split(",")[0] for line in lines]
    
    

    然后您可以使用search_values 中的字符串来查看其他文件。

    【讨论】:

    • 谢了哥们! <3
    【解决方案2】:
    import csv
    
    args = []
    with open('all.csv', 'r') as inp:
      for row in csv.reader(inp):
        args.append(row[0])
    
    with open('all.csv', 'r') as inp, open('final.csv', 'w') as out:
      writer = csv.writer(out)
      for row in csv.reader(inp):
          if row[3] not in args:
              writer.writerow(row)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 1970-01-01
      相关资源
      最近更新 更多