2016-07-28 48 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