首页 > 解决方案 > 连接两列并在python的新列中打印文本

问题描述

我有一个将主文件与主机文件进行比较的代码,并且在主机文件的列中找到它将标记的主文件中的单词 - 发现为“是”。我对使这个脚本完整的事情感到震惊。请帮助我,因为我仍然是 python 的新手。提前致谢。

  1. 我想连接两列并将其打印在新列中,如下所示。我试过了,但无法适应代码。

'''

 a       b      c
 mike   1334   mike1334
  1. 使比较列不区分大小写,因为两列都有大写和小写值。当前代码区分大小写。

用于比较 CSV 文件的主要代码:

import csv


with open('master.csv', 'rt', encoding='ISO-8859-1') as master:
master_indices = dict((r[0], i) for i, r in enumerate(csv.reader(master)))

with open('host.csv', 'rt', encoding='ISO-8859-1') as hosts:
    with open('result.csv', 'w', newline='') as results:    
        reader = csv.reader(hosts)
        writer = csv.writer(results)


        writer.writerow(next(reader, []) + ['Is found Yes/No'])

        for row in reader:

            index = master_indices.get(row[4])
            if index is not None:
                message = 'Yes'
                writer.writerow(row + [message])

            else:
                 message = 'No'
                 writer.writerow(row + [message])   


    results.close()

输出将是这样的:

a       b      c         Is found
mike   1334   mike1334     yes

标签: python

解决方案


使用 PANDAS 库非常容易

import pandas as pd

master = pd.read_csv('master.csv',encoding= 'ISO-8859-1')
master['c'] = master['a']+master['b']

我认为你只是期待这个。


推荐阅读