将Adwords .CSV编码/导入powerquery

时间:2016-10-25 01:05:27

标签: unicode encoding google-adwords powerquery m

基础知识:问题:来自Google Adwords的.cvs报告是如何编码的?

详细信息:我尝试使用powerquery从adwords导入.csv,并且在我的生活中,我无法获得"," (逗号)字符将出现在我的导入中。

我的代码:

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. M中的UTC-16LE是代码页1200
  3. 我无法在任何编码设置(Unicode,Unicode Big Endian,UTF-8,ASNI)下在记事本中打开Adwords .csv
  4. 如果在excel中将文件重新保存为UnicodeText,我可以使用记事本将其作为带有换行符的Unicode Big Endian打开,但不能使用逗号(",")。
    • 如何验证这些文档的编码?
    • 这可能是什么编码?
    • 对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分: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