我正在尝试创建一个读取两个文件的程序,一个csv和xls,并使用一些python逻辑,根据ip / subnet匹配,将某些列从csv解析并传输到xls。
csv在B,C和D列中有子网,掩码和cidr。(csv有大约10k行,不会全部使用。)
xls在C列中有ip地址。(xls有5009行),每个ip地址对应于它所在的子网。
例如,csv colB,C,D中的此信息:
subnet mask cidr
10.120.10.0 255.255.255.0 /24
对应于xls colB中的这个信息(这些ip不是连续的。它们是随机行。)
10.120.10.12
10.120.10.13
我需要移植到xls文件的csv中的列是G,H,I,K和M.
我试图找到一种方法将xls文件中的每个ip与csv中的子网相匹配,并将csv列中的数据G,H,I,K和M带到该行的在xls中对应的ip。
很抱歉,如果这令人困惑,那么解决这个令人困惑的问题并且我只是一个初学者来蟒蛇。
答案 0 :(得分:0)
首先,您可以尝试使用此脚本
import openpyxl
from xlrd import open_workbook
import csv
#To read XLX
book = open_workbook('IPADR.xlsx')
sheet = book.sheet_by_index(0)
keys = [sheet.cell(row_index, 0).value for row_index in xrange(sheet.nrows)]
print keys
# To read Csv
exampleFile = open('sample.csv')
exampleReader = csv.reader(exampleFile)
for row in exampleReader:
print row[0]