用pandas导入.csv

时间:2014-07-03 00:29:35

标签: python csv pandas ipython

我正在对研究奖项进行分析,并已经在ipython中对一年的数据进行了分析和可视化。当我在2013年之前尝试类似的方法时,我得到ERROR,行包含NULL字节或VALUE ERROR没有要解析的列,这取决于我是分别使用python还是c引擎。我还在源代码中检查了一个更好的解释,并使用文档中的参数进行修改,但我仍然获得相同的输出。到目前为止,我在论坛上找到的任何内容都没有解释得太好。

使用pandas或使用其他.csv导入方法是否有某种解决方法?是否有可能在2012年和2013年之间存在一些格式变化? 2013年之前的所有文件大约是2013年的两倍(2013年为38.4MB,2012年为74.2MB,2011年为77.2MB),但条目数大致相同。我最终希望将所有这些年的数据结合在一起,所以如果可以使用大熊猫来解决这个问题。我错过了什么或误解了什么吗?

import pandas as pd
pd.set_option('max_rows', 20)
pd.set_option('max_columns', 20)

#source csv, change year to get different years down to 2008
#'http://www.research.gov/common/attachment/Common/exportAwards-2012.csv'
url = "/home/derp/Downloads/exportAwards-2012.csv"

a12 = pd.read_csv(url) #with different modified arguments
a12

我在Ubuntu 14.04上使用Python 2.7.6。熊猫= 0.14.0

1 个答案:

答案 0 :(得分:1)

我查看了文件http://www.research.gov/common/attachment/Common/exportAwards-2012.csv由于某种原因,有很多NULL(\ 000)。如果你用Vi打开它,你可以看到它们(^ @)。

您可以预处理文件:因为您使用的是Ubuntu

tr < exportAwards-2012.csv -d '\000' > exportAwards-2012_2.csv

然后pd.read_csv应该能够阅读exportAwards-2012_2.csv