Ondalık Noktaları Değiştirmeden Bireysel Dönemleri / Tam Durakları Nasıl Değiştirirsiniz?


1

Bu biraz garip bir tane; Çıktısını .txt dosyası olarak veren bir göz-izleyici kullanarak veri topladım (Excel ayrıca bir seçenektir ama notepad olduğu kadar çok örnek var). Tüm örneklerin sayı olarak gösterilmesini istiyorum. Her bir “örnek”, her iki milisaniyede bir alınan öğrenci boyutunun bir ölçüsüdür. Makinenin nadir olmayan durumlarda bir veya iki saniye boyunca birisinin gözünü kaybettiğini aniden sayılar yerine birkaç tane sıkışık dönem geçirdim.

Örneğin:

Sub5    91.00   3300039.00  3287753

Sub5    94.00   3300041.00  3287753

Sub5    97.00   3300043.00  3287753

Sub5    97.00   3300045.00  3287753

Sub5    97.00   3300047.00  3287753

Sub5    .   3300049.00  3287753

Sub5    .   3300051.00  3287753

Sub5    .   3300053.00  3287753

Sub5    .   3300055.00  3287753

Sub5    .   3300057.00  3287753

Sub5    .   3300059.00  3287753

Her gevşek dönemin her iki tarafındaki boşluklar, 'Sekme' düğmesi F + R menüsündeki bir sonraki öğeye geçtiği için arama ve değiştirme aramalarında belirtemediğiniz gibi görünen 'Sekme' düğme boşluklarıdır. Bu düzensiz olarak gerçekleşir ve binlerce satır vardır, bu nedenle manuel olarak geçmek saatler alabilir, ancak Bul ve Değiştir de kullanırsam ondalık noktaları dönüştürür ve kullanırsam çıktımdaki anlamsız diğer veri sütunlarını oluşturur. İzole edilen tüm periyotları ondalık kodları karıştırmadan sıfırlara dönüştürmenin hızlı bir yolu var mı? Şu anda notepad ++ kullanıyorum ancak gerekirse daha gelişmiş bir yazılım almaktan mutluluk duyuyorum. Alternatif, sütunların arasında saatlerce dolaşmak olduğu için tüm öneriler takdir edilmektedir!


Bu davaya uygun olmadığı için
cevabımı düşürdüm

0.0 normal veride geçerli bir veri noktası mı? Kullanımınız için "değer yok" değerini 0 olarak ayarlamak uygun mu?
horatio

İyi bir nokta; bu işlem uygun hale getirdikten sonra dosyayı işlemek için kullanılan MatLab'da iyi çalışmalıdır. Aslında bunun için iletiyorum, bu yüzden gönderdiğim adamı kontrol edeceğim ve çalışıp çalışmadığını göreceğim. Bu durumda “0” aslında toplanamayan bir veri noktasını gösterdiğinden, bunun önemli olması gerektiğini düşünmüyorum…
Phil

Yanıtlar:


1

Eski ve çoktan cevaplanmış bir soruya yaptığım 2 kuruş, ancak "regexp kullan" cevaplarını görüyorum ve çok daha basit bir yol var:

"Sekme" boşlukları kopyalanabilir :)

öyleyse: bir "sekme" seçin, Ctrl + H, "bul" kutusuna yapıştırın, sürenizi ekleyin ve sonra başka bir sekmeyi yapıştırın. Kutuyu değiştir: Yapıştır sekmesi, "0.0" Yapıştır sekmesini ekleyin. -> Tümünü Değiştir!

Anladım: tüm " tab.tab" by " tab0.0tab" yerine sütunlarınızı hizaya koymanız gereken bir adım atmanız yeterli .

18 aylık bir konuyu araştırdığım için üzgünüm :)


0

Buradaki anahtar, beyaz boşluklar da dahil olmak üzere, tüm "iğnelerin" onları "samanlık" ın diğer bölümlerinden farklı kılan en küçük ortak özelliği tanımlamaktır.

Verileri görmeden size düzgün cevap vermenin bir yolu yoktur. "Sayılar" ne olduğunu söylemenin basit bir yolu gibi gözüküyor, ama tahmin ediyorum ki "ondalık sayılar / kayan nokta" sayıları vb.

Bir sekme her sütunda önce varsa, tüm değiştirebilirsiniz \t.ile \t0.0vs.

Beyaz boşluk yoksa, tümünü .. (2x dönem) `` (hiçbir şey) ile değiştirebilirsiniz. Bunu "0 değişiklik" elde edene kadar, gerektiği kadar yapın.

Bunu verilerin bir kopyasında yaptığınızı söylemeye gerek yok.


Açıklamalardan önce cevaplandı ... Notepad ++ 'ta erişmek için "genişletilmiş arama modu" seçeneğini kullanın \t.
horatio

Tamam, bir deneyeceğim. Üzgünüm, soruya uygun şekilde tutarlı olmak için biraz zaman harcadım!
Phil

Çözüm, "\ t" yerine "Bul + Değiştir" seçeneğini genişletilmiş arama kipiyle kullanmaktı. "\ t0 \ t" ile değiştirin. Değiştir kutusundaki ikinci sekmenin kaldırılması, sütunun aşağıdakilerle bir araya gelmesine neden oldu; bu garipti, ancak ikincisi ile mükemmel çalıştı. Teşekkürler!
Phil

0

Yazı defteri kullanıyorsanız normal ifadeleri kullanabilirsiniz:

gibi bir şey ([0-9]\.\.+[0-9])

Şimdi kalifiye olmuş olsanız da, her iki tarafta da sekmeler varsa, aslında daha kolay olabilir:

(\t\.\t)


regexp, notepad ++ 'da da (değiştirme iletişim kutusunda seçilen doğru seçenekle) desteklenir.
horatio

Evet, ben notepad ++ 'ın sözdizimini bilmiyorum :)
NickW

Bildiğim kadarıyla, bu "standart-ish" yani cevabınız muhtemelen olduğu gibi kullanılabilir
horatio

Evet, ihtiyatlı davranma eğilimindeyim ve başka bir yazılımı denemek istediğini belirtti.
Nick

Evet, ikinci iyi çalıştı. Açıklığa kavuşturması yavaş olduğu için tekrar özür dilerim ve yardımlarınız için teşekkürler!
Phil
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.