I http://pypi.python.org/pypi/cutplace/ edinilebilir gibi dosyaların doğrulama basitleştirmek için bir açık kaynak Python aracı yazdı.
Temel fikir OpenOffice.org, Excel veya düz CSV kullanarak yapılandırılmış bir arayüz şartnamede veri biçimini tarif olmasıdır. Bu birkaç dakika ve çok dokümantasyon olarak hizmet verecek kadar okunaklı yapılır. Biz günlük bazında yaklaşık 200.000 satır ile dosyaları doğrulamak için kullanabilirsiniz.
Siz komut satırını kullanarak bir CSV dosyasını doğrulamak:
cutplace specification.csv data.csv
Geçersiz veri satırları bulunduğu durumda, çıkış kodu 1'dir. Daha fazla kontrol gerekiyorsa, cutplace modülü ithalat ve doğrulama olayları için bir dinleyici ekler küçük bir Python komut dosyası yazabilirsiniz.
Örnek olarak, burada birkaç varsayımlar yaparak kısa bir açıklama boşlukları doldurarak, sağlanan örnek verileri doğrulamak olacak bir şartname var. (Ben bu yazı bunu inline CSV şartname yazıyorum. Uygulamada tercihim OpenOffice.org 'un Kireç ve ODS daha fazla biçimlendirme kullanmak ve daha kolay okumak ve korumak için yapabilir çünkü.)
,"Interface: Show statistics"
,
,"Data format"
"D","Format","CSV"
"D","Item delimiter",";"
"D","Header","1"
"D","Encoding","ASCII"
,
,"Fields"
,"Name","Example","Empty","Length","Type","Rule"
"F","date","15-Mar-10",,,"RegEx","\d\d-[A-Z][a-z][a-z]-\d\d"
"F","id","231",,,"Integer","0:"
"F","shown","345",,,"Integer","0:"
,
,"Checks"
,"Description","Type","Rule"
"C","id per date must be unique","IsUnique","date, id"
"D" ile başlayan satırlar temel veri biçimi açıklanmaktadır. Bu durumda kullanarak bir CSV dosyası ";" ASCII kodlaması 1 başlık hattı ile sınırlayıcı olarak.
"F" ile başlayan satırlar çeşitli alanları açıklamaktadır. Örneğin,
,"Name","Example","Empty","Length","Type","Rule"
"F","id","231",,,"Integer","0:"
0 veya daha büyük bir değere sahip tip Integer zorunlu alan "id" tanımlar. Alan boş izin vermek için, "Boş" sütununda "X" belirtin:
,"Name","Example","Empty","Length","Type","Rule"
"F","id","231","X",,"Integer","0:"
Sonunda tek satır değil sadece, tüm dosya yumurtlama daha gelişmeler kontrollerini içeren isteğe bağlı bir bölüm var. Dosyanızda her tarih sadece bir kez bir kimliği için tarih vermesi gerekir Örneğin, kullandığınız bu ifade edebiliriz:
,"Description","Type","Rule"
"C","id per date must be unique","IsUnique","date, id"
Boş bir sütun ile başlayan herhangi bir satır gibi ve doğrulama sırasında işlenen olmayacak herhangi bir metin içerebilir. Bu böylece başlıklar, yorumlar ve için yararlıdır.