2016-10-25 9 views
0

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

Подробности: Я пытаюсь импортировать 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 в М кодовая страница 1200
  3. Я не могу открыть Adwords .csv в блокноте в любой кодировке (Unicode, Unicode Big Endian, UTF-8, ASNI)
  4. Если вы сохраняете файл в excel как UnicodeText. Я могу открыть его с помощью блокнота в виде Unicode Big Endian с linebreaks, но без запятой («,»).

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

ответ

0

Почему вы используете линии вместо собственного csv-parser?

Csv.Document(file_content, [Delimiter="#(tab)", Columns=10, Encoding=1200, QuoteStyle=QuoteStyle.None]) Использование

Как это

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 

 Смежные вопросы

  • Нет связанных вопросов^_^