pythonで再読み込み、読み取りせずにNULLバイトを削除書きたいですほとんどの発生。ヌルバイトエラーは、おそらく私のpython 3</p> <p>私はCSVがdictreaderにファイルを読んでいますを使用していますが、国が持っているかを確認しようとしています
私は、リーダーではなく、dictreaderを使用していることに注意してください。これは私がカウンターを使用しているので必要とされます。
CSVファイルの一部の行にヌルバイト(特にパスワードフィールドにある)があり、nullバイトが気に入らないcsvリーダーに関するエラーでスクリプトが強制終了するので、問題があります。これの一例は、私のコメントの最後のサンプル行です。私はいくつかの人々が私のコード内の行でヌルバイトを取り除くのを見ました:readerobject(x.replace('\0', '') for x in csvfile)
しかし、私はすでに前の行のreadobjectにcsvfileを読み込んでいるので、これを使うようには思えません。
は、ここに私のコード
'''
sample csv lines
Brazil,200.145.23.13,pi,raspberry,failed,None,None,None
Brazil,200.145.23.13,pi,raspberryraspberry993311,failed,None,None,None
China,121.201.83.134,root,123456,succeeded,None,None,None
United Kingdom,185.38.148.238,root,123456,succeeded,None,None,None
Croatia,5.188.10.141,root,admin,succeeded,None,None,None
France,195.154.44.31,squid,123456,failed,None,None,None
France,195.154.44.31,squid,123456,failed,None,None,None
Croatia,5.188.10.141,root,123456,succeeded,None,None,None
Croatia,5.188.10.141,root,admin,succeeded,None,None,None
Croatia,5.188.10.141,root,123456,succeeded,None,None,None
Netherlands,109.236.91.85,root,admin,succeeded,None,None,None
France,51.255.160.205,root,admin,succeeded,None,None,None
United States,207.138.132.44,root,seiko2005,failed,None,None,None
France,212.83.150.189,support," ",failed,None,None,None <-- these are null bytes inside the ""
'''
import codecs
from pprint import pprint
from collections import Counter
import csv
linecount = 0
import time
country_counter = Counter()
print("parsing CSV log file")
with open('C:/Users/Home/Documents/kippo stuff/final lab/kippo/oldkippo4final.csv', newline='') as csvfile:
readerobject = csv.DictReader(csvfile, delimiter=',', fieldnames=['Country', 'IP Address', 'Username', 'Password', 'Status', 'name', 'intention', 'OS'])
readerobject(x.replace('\0', '') for x in csvfile)
for row in readerobject:
print(row, "\n\n")
linecount +=1
country_counter[row['Country']] +=1
print(linecount)
print(country_counter.most_common(3))
print("the total linecount was: ", linecount)