我试图从一个CSV文件中获取数据,并将该数据的相应信息放在另一个CSV文件中,并将它们合并到一个输出文件中。在
假设这是我的查找文件:
在名称.csv公司名称:
+------+
|CI_Name|
+------+
| a |
| b |
| c |
| ... |
+------+
这是另一个csv文件,我将从中获得服务器的相关信息,Ip地址等
在主.csv在
^{pr2}$我想把这两个信息合并到一个新的excel表(csv),基本上是一个VLOOKUP,请帮助Python程序员!我需要一个代码和解释,这样我就可以在将来轻松地做Vlookup了。在
这是我尝试过的代码:
import csv
with open('Name.csv', 'r') as csvinput:
with open('Main.csv', 'r') as lookuplist:
with open('Output.csv', 'w') as output:
reader = csv.reader(lookuplist)
reader1 = csv.reader(csvinput)
writer = csv.writer(output)
for CI_Name in reader1:
for SERVER, FQDN, AUTOMATION_ADMINISTRATOR, IP_ADDRESS, PRIMARY1, MHT_1, MHT_2, MHT_3, MHT_4 in reader: #this are the columnss i need to match from the Main and import it to the output.csv
if CI_Name[0] == FQDN[0]:
CI_Name.append(FQDN[1:])
writer.writerow(CI_Name)
我得到的错误是:
for SERVER, FQDN, AUTOMATION_ADMINISTRATOR, IP_ADDRESS, PRIMARY1, MHT_1, MHT_2, MHT_3, MHT_4 in reader:
ValueError: too many values to unpack
我没有专门为CSV工作,但是我不得不使用python为google sheets生成文档,当这样做时,数据看起来像这样,实际上每个列表都是一行:
回到你的问题上,根据我的理解,如果它们匹配的话,你基本上都想加入其中。在
^{pr2}$产生以下输出
不过,您可以通过列表理解使其更像Python:
产生以下输出
终点
如this post中所述:
看起来有点像这样:
最后,我做
...zip(names[1:], data[1:])
的原因是消除数据的第一个“行”(list),这是头文件,因为它们并不是我们要处理的数据。在相关问题 更多 >
编程相关推荐