我有一个通过将 Tableau 表导出到 csv 生成的 csv 文件,但我无法在 Python 中打开它。
\n\n我尝试使用 pd.read_csv 但失败了。
\n\nimport pandas as pd\n\n#path to file\npath = "tableau_crosstab.csv"\n\ndata = pd.read_csv(path, encoding="ISO-8859-1") \nRun Code Online (Sandbox Code Playgroud)\n\n这适用于读取文件,但结果只是多行,每行一个字符,以及帧头部的一些奇怪字符。
\n\n\xc3\xbf\xc3\xbed\no \nm \na \ni\nRun Code Online (Sandbox Code Playgroud)\n\n等等。当我尝试在 Excel 中导入文件时,我必须选择制表符作为分隔符,但是当我在这里尝试时,它失败了
\n\nimport pandas as pd\n\n#path to file\npath = "tableau_crosstab.csv"\n\ndata = pd.read_csv(path, encoding="ISO-8859-1", sep=\'\\t\') \nRun Code Online (Sandbox Code Playgroud)\n\nCParserError:标记数据时出错。C 错误:第 7 行应有 1 个字段,但看到了 2 个字段
\n\n我确实尝试使用编解码器打开文件,然后它说编码是“cp1252”,但使用它作为编码也失败。
\n\n我也尝试使用 utf-8 读取它,但也失败了。\n我已经没有办法解决这个问题了。
\n\n如果有人可以看一下,这里是一个副本的链接http://www.mediafire.com/file/6dtxo2deczwy3u2/tableau_crosstab.csv
\n你有专门的unicode BOM是 utf-16LE
\n\n尝试
\n\ndata = pd.read_csv(path, encoding="utf-16", sep=\'\\t\') \nRun Code Online (Sandbox Code Playgroud)\n\n你看到的有趣的字符:\xc3\xbf\xc3\xbe对应于十六进制FF FE,即 unicode-16 小端字节顺序标记。如果您查看维基百科页面,它会显示所有各种字节顺序标记
阅读您的 csv 时,我得到以下信息:
\n\nIn[4]:\ndata = pd.read_csv(r\'C:\\tableau_crosstab.csv\', encoding=\'utf-16\', sep=\'\\t\')\ndata\n\nOut[4]: \n domain Month of date impressions clicks\n0 test1.no jun.17 725 676 633\n1 test1.no mai.17 422 995 456\n2 test1.no apr.17 241 102 316\n3 test1.no mar.17 295 157 260\n4 test1.no feb.17 122 902 198\n5 test1.no jan.17 137 972 201\n6 test1.no des.16 274 435 361\n7 test2.com jun.17 3 083 373 1 638\n8 test2.com mai.17 3 370 620 2 036\n9 test2.com apr.17 2 388 933 1 483\n10 test2.com mar.17 2 410 675 1 581\n11 test2.com feb.17 2 311 952 1 682\n12 test2.com jan.17 1 184 787 874\n13 test2.com des.16 2 118 594 1 738\n14 test3.com jun.17 411 456 41\n15 test3.com mai.17 342 048 87\n16 test3.com apr.17 197 058 108\n17 test3.com mar.17 288 949 156\n18 test3.com feb.17 230 970 130\n19 test3.com jan.17 388 032 115\n20 test3.com des.16 1 693 442 166\n21 test4.no jun.17 521 790 683\n22 test4.no mai.17 438 037 541\n23 test4.no apr.17 618 282 1 042\n24 test4.no mar.17 576 413 956\n25 test4.no feb.17 451 248 636\n26 test4.no jan.17 293 217 471\n27 test4.no des.16 641 491 978\nRun Code Online (Sandbox Code Playgroud)\n