모든 가능한 예외 및 CSV 형식 이상한 문제를 해결하고 싶지 않으면 수동으로 CSV 구조를 구문 분석해서는 안됩니다. 파이썬은 그 측면에서 그 csv
모듈에 대해 다뤘습니다.
주요 문제는 귀하의 데이터에서 유래합니다. 첫 번째 구조가 시작되는 곳을 먼저 찾아야하기 때문에 하나의 파일에 2 개의 다른 CSV 구조가있는 것으로 보입니다. 또한 코드에서 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