PowerQuery sabit genişliği csv ayrıştırmak için


0

Sabit genişlikte csv.txt var, örneğin

Martin    Junger    12    
John      Wing      124

PowerQuery ile yüklemek için bu sözdizimi kullanılır:

let
    Source = Csv.Document(File.Contents("C:\csv.txt"),null,";",null,1251),
    #"Split Column name" = Table.SplitColumn(Source,"Column1",Splitter.SplitTextByPositions({0, 10}, false),{"name", "ColumnOther"}),
    #"Split Column surname" = Table.SplitColumn(#"Split Column name","ColumnOther",Splitter.SplitTextByPositions({0, 10}, false),{"surname", "ColumnOther"}),
    #"Split Column salary" = Table.SplitColumn(#"Split Column surname","ColumnOther",Splitter.SplitTextByPositions({0, 3}, false),{"salary", "ColumnOther"})
in
    #"Split Column salary"

Bu yüzden csv'deki her sütun için Table.SplitColumnuygun olmayan yeni bir komut yaratmam gerekiyor . Tek komutta yapmak için herhangi bir sözdizimi var mı?

teşekkür ederim


Powerquery'i hiç kullanmadım ama csv sabit genişlik yerine sınırlayıcıya sahipse bu daha kolay olur mu?
Raystafarian

Sınırlandırılmışsa - o zaman herhangi bir sorun olmadan ayrıştırılabilir. Ancak sabit sınırlı çalışmalıyım.
pashtetGP

Yanıtlar:


0

Doco'da bahsedilmese de, Csv.Document, her sütunun (sıfır temelli) başlangıç ​​konumunu belirterek, "isteğe bağlı sınırlayıcı" argümanı olarak bir listeyi kabul eder. Bu dosyayı PQ tarafından oluşturulan dosyayı bu dosyaya işaret ettiğimde görebilirsiniz (örn. Excel 2016: Veri şeridi / Yeni Sorgu / Dosyadan / Metinden). "İsteğe bağlı sınırlayıcı" argümanı şudur:{0,10,20}

let Source = Csv.Document(File.Contents("C:\csv.txt"),null,{0,10,20},null,1252), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"Column2", type text}, {"Column3", Int64.Type}}) in #"Changed Type"


0

Sabit genişliği almak için excel için powerquery eklentisini kullanmanıza gerek yok - yerleşiktir.

Adımlar:

  1. Metinden Veri Sekmesi (Dış Veri Al)
  2. Csv dosyanızı seçin
  3. Metin Alma Sihirbazı'nı açtığını görün
  4. İçinde: Orijinal veri türü, "Sabit genişlik" i seçin
  5. Sihirbaza uygun şekilde ilerleyin

görüntü tanımını buraya girin

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.