为什么从Github加载CSV时会出现“错误标记数据”错误,而从硬盘加载完全相同的文件却没有错误?

时间:2019-03-02 15:48:30

标签: github loading

我对Python很陌生。我正在尝试学习如何从不同来源加载数据集。我在堆栈溢出或Google搜索中未发现以下问题。我有一个.csv数据文件,该文件最初是从科学数据存储库下载的。当我从硬盘驱动器加载它时,没有问题,而且我可以快速获取数据的基本事实,并看到只有两个NaN,并且列标题中没有语法错误。当我尝试从Github存储库中加载它时,我得到以下信息:

代码:

import pandas as pd
import numpy as np

df = pd.read_csv('https://github.com/hXXX/YYY/blob/master/CCCC.csv')

这将调用以下错误输出:

Error:
---------------------------------------------------------------------------
ParserError                               Traceback (most recent call last)
<ipython-input-34-d5c99e7779b6> in <module>
----> 1 df = pd.read_csv('https://github.com/hXXX/YYY/blob/master/CCCC.csv')
...
...

ParserError: Error tokenizing data. C error: Expected 1 fields in line 75, saw 4

我已经在几个Stack Overflow问题中研究了这种类型的错误,其中发现了数据文件中的键入错误。但是,我的csv文件中找不到任何文件,尤其是当我比较硬盘驱动器上的文件和Github存储库中的文件之间的行时(我从硬盘驱动器将文件加载到存储库中)。我得到了从Stack Overflow加载到Python的代码,因此假设它应该可以工作。该文件不是非常大,(3696,22)。感谢您的帮助。 谢谢 希伯

1 个答案:

答案 0 :(得分:1)

您使用的URL指向GitHub的Web查看器以获取存储库内容,因此下载的数据是一个网页,而不是原始CSV文件。 GitHub对原始文件内容使用了不同的URL方案,您可以在查看任何给定文件时使用Web界面中显示的“ Raw”按钮来查看它。对于您的示例,URL为https://raw.githubusercontent.com/hXXX/YYY/master/CCCC.csv

请注意,GitHub并未正式提供此功能,以编程方式从其存储库中获取数据,因此它可能永远无法使用。