Кодирование/импорт Adwords .CSV в powerquery

Основы: из вопроса: как кодируются отчеты .cvs из Google Adwords?

Подробности: я пытаюсь импортировать .csv из adwords с помощью powerquery, и мне не удается получить символы "," (запятая) в моем импорте.

Мой код:

let
// Get raw file data as txt file,
fnRawFileContents = (fullpath) as table =>
let
    EveryLine = Lines.FromBinary(File.Contents(fullpath),1,true,1200),
    Value = Table.FromList((EveryLine),Splitter.SplitByNothing())
in
    Value,

// Use functions to load contents
   Source =  fnRawFileContents("C:\Users\Jamie.Marshall\Desktop\Emma\adwordsDoc.csv"),
    #"Removed Top Rows" = Table.Skip(Source,1)
in
    #"Removed Top Rows"

Факты:

  1. В документации Adwords говорится, что они используют UTC-16LE.
  2. UTC-16LE в M - это кодовая страница 1200
  3. Я не могу открыть файл Adwords .csv в блокноте ни при каких настройках кодировки (Unicode, Unicode Big Endian, UTF-8, ASNI)
  4. Если повторно сохранить файл в excel как UnicodeText, я могу открыть его с помощью блокнота как Unicode Big Endian с разрывами строк, но без запятых (",").

  • Как проверить кодировку этих документов?
  • Какая еще может быть кодировка?
  • Любая помощь в этом будет высоко оценена.

person Jamie Marshall    schedule 25.10.2016    source источник


Ответы (1)


Почему вы используете строки вместо родного csv-парсера?

Используйте 1_

Так

let
    file_path = "C:\Users\Jamie.Marshall\Desktop\Emma\adwordsDoc.csv",
    file_content = File.Contents(file_path),
    csv = Csv.Document(file_content, [Delimiter="#(tab)", Columns=10, Encoding=1200, QuoteStyle=QuoteStyle.None]),
    skip_1_row = Table.Skip(csv,1),
    promote_header = Table.PromoteHeaders(skip_1_row),
    remove_last_2_rows = Table.RemoveLastN(promote_header,2)
in
    remove_last_2_rows
person Sergey Lossev    schedule 26.10.2016