kullanarak yeni bir csv dosyasına eşleşen csvfile ile eşleşen satırları yazıyorum Python'da yeniyim ve belirli dizeleri eşleştirerek csv dosya kayıtlarını azaltmaya çalışıyorum. Eşleşen satırın satırlarını yeni bir csv dosyasına yazmak istiyorum.Python
Ne yapmaya çalışıyorum (örn yalnızca olabildiğince tutuklama emri içeren satırları yazma belirli eşleme anahtar kelimeler için tüm satırları geçerek aramasıdır: Burada
bir örnek veri kümesi ise görüntüde görülen) yeni bir csv dosyasına.İşte şimdiye kadar benim kodudur:
import csv
with open('test.csv', 'a') as myfile:
with open('train3.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile, delimiter=',')
for r in spamreader:
for field in row:
if field == "OTHER OFFENSES":
myfile.write(r)
test.csv
boş ve train3
tüm kayıtları içerir.
import csv
with open('test.csv', 'a', newline='') as f_outputcsv, open('train3.csv', 'r') as f_inputcsv:
csv_spamreader = csv.reader(f_inputcsv)
csv_writer = csv.writer(f_outputcsv)
for row in csv_spamreader:
for field in row:
if field == "WARRANT ARREST":
csv_writer.writerow(row)
break
Bu geri çıktı dosyasına tüm satırları yazmak için csv.writer
örneğini kullanır:
https://docs.python.org/2/library/csv.html –
'a bir göz atın. Bazı "else" ifadeleri ekleyerek neler olup bittiğini sık sık öğrenebilirsiniz. Örneğin, eğer alan == "OTHER OFFENSES": 'ise,' else: print (field) 'veya' else: print (r) 'yazabilirsiniz. Gerçek verileri gördüğünüzde karşılaştırmanızın neden başarısız olduğu belli olabilir. Örneğin. Her satırın karĢılaĢtırılmasının karĢılaĢtırılmasından sonra bir satırsonu karakteri olabilir (bu, birisinin bu konu hakkında son kez sorduğu sorunun sebebiydi ve cevapladım). "Eğer alan ==" DİĞER YETENEKLER "' yerine, alandaki "DİĞER ÇALIŞMA SAYFALARI" ifadesini kullanabilirsiniz: ' – jDo
Veri kümeniz örneğinde," DİĞER ÇALIŞMA SAYISI "'na eşit bir alan yoktur. Böylece çıktı dosyasının boş olmasını beklersiniz. – schwobaseggl