すべての例外とCSV形式の奇妙な問題に対処しない限り、手動でCSV構造を解析しないでください。 Pythonはその点に関して、csv
モジュールについて説明しました。
あなたのケースでは、主な問題はデータに由来します.1つのファイルに2つの異なるCSV構造があるように見えるので、最初に2番目の構造が始まる場所を探す必要があります。さらに、コードからは、Details_Table0_Netbios_Name0
より前のすべての列を除外し、がSMZ-
またはMTR-
で始まる行のみを含めると思われます。だから何かのように:
import csv
with open("Computers discovered recently by discovery method.csv") as f:
reader = csv.reader(f) # create a CSV reader
for row in reader: # skip the lines until we encounter the second CSV structure/header
if row and row[0] == "Header_Table0_Netbios_Name0":
break
index = row.index("Details_Table0_Netbios_Name0") # find where your columns begin
result = [] # storage for the rows we're interested in
for row in reader: # read the rest of the CSV row by row
if row and row[index][:4] in {"SMZ-", "MTR-"}: # only include these rows
result.append(row[index:]) # trim and append to the `result` list
print(result[10]) # etc.
# ['MTR-PC0BXQE6-LB', 'PR2', 'anisita', 'VALUEADDCO', 'VALUEADDCO', 'Heartbeat Discovery',
# '07.12.2017 17:47:51', '13']
トリックを行う必要があります。
パンダのデータフレームはどうですか? –
@Garbage私はまだそれらを学んでいない。例は歓迎です – user2978216