2016-07-28 46 views
0

我正在尝试制作一个读取两个文件(一个csv和xls)并使用一些python逻辑根据ip/subnet匹配来解析和传输csv中的某些列到xls。读取两个文件,一个csv和xls,并根据子网(csv)/ ip(xls)匹配将列从csv到xls匹配

该CSV具有子网,掩码和CIDR,在B,C和D(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 

在CSV我需要移植到xls文件的列是G,H,I,K和M

我试图找到一种方法,XLS文件中每个IP匹配csv中的一个子网,并将csv列G,H,I,K和M中的数据带入xls中相应ip的行。

对不起,如果这是令人困惑,这是一个混乱的问题来解决,我只是一个初学者python。

回答

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] 
+0

问题是,该文件没有XLSX其XLS。我试过openpyxl,但它不适用于xls格式。 – DaVinci

+0

https://www.sitepoint.com/using-python-parse-spreadsheet-data/ 你可以试试这个 进口xlrd \t工作簿= xlrd.open_workbook( 'my_file_name.xls') \t工作=工作簿.sheet_by_name('My_Sheet_Name') \t sheet.cell(0,0).value – Shijo