Python 保存到_csv,然后再读取_csv会产生KeyError

Python 保存到_csv,然后再读取_csv会产生KeyError,python,csv,pandas,Python,Csv,Pandas,在OS X 10.11.1上工作时,我有以下pd.dataFrame >>>df name None currency EUR assets 0 assetsDate NaN assetsCrncy NaN name2 DAX INDEX name3

在OS X 10.11.1上工作时,我有以下pd.dataFrame

>>>df
name                     None
currency                  EUR
assets                      0
assetsDate                NaN
assetsCrncy               NaN
name2               DAX INDEX
name3                     NaN
isin                      NaN
wpk                       NaN
inceptDate                NaN
assetClassFocus           NaN
bid                 DAX Index
attrib             LAST_PRICE
startdate          04.01.2010
enddate            28.02.2014
Name: (MD)DAX Index(LAST_PRICE):DAX INDEX, dtype: object
然后我将其保存为:

df.to_csv(filename)
在我读了之后:

df = pd.read_csv(filename, index_col=0)
我得到以下信息:

>>>df
                 Unnamed: 1
name                       
currency                EUR
assets                  0.0
assetsDate              NaN
assetsCrncy             NaN
name2             DAX INDEX
name3                   NaN
isin                    NaN
wpk                     NaN
inceptDate              NaN
assetClassFocus         NaN
bid               DAX Index
attrib           LAST_PRICE
startdate        04.01.2010
enddate          28.02.2014
以及引用时出现的关键错误:

>>>df["startdate"]
Traceback (most recent call last):
  Debug Probe, prompt 336, line 1
  File "/Users/xxxx/anaconda/lib/python2.7/site-   packages/pandas/core/frame.py", line 1969, in __getitem__
    return self._getitem_column(key)
  File "/Users/xxxx/anaconda/lib/python2.7/site- packages/pandas/core/frame.py", line 1976, in _getitem_column
    return self._get_item_cache(key)
  File "/Users/xxxx/anaconda/lib/python2.7/site-packages/pandas/core/generic.py", line 1091, in _get_item_cache
    values = self._data.get(item)
  File "/Users/xxxx/anaconda/lib/python2.7/site-packages/pandas/core/internals.py", line 3211, in get
    loc = self.items.get_loc(item)
  File "/Users/xxxx/anaconda/lib/python2.7/site-packages/pandas/core/index.py", line 1759, in get_loc
    return self._engine.get_loc(key)
  File "/Users/xxxx/anaconda/lib/python2.7/site-packages/pandas/index.so", line 137, in pandas.index.IndexEngine.get_loc (pandas/index.c:3979)
    I�FL���P0M��tI�u
  File "/Users/xxxx/anaconda/lib/python2.7/site-packages/pandas/index.so", line 157, in pandas.index.IndexEngine.get_loc (pandas/index.c:3843)
    R+\000;~H=¢ú\000è~ñ\000À}\000\000HßLîLúAÿÔIÄIÿHMä{\000\000Hÿu
  File "/Users/xxxx/anaconda/lib/python2.7/site-packages/pandas/hashtable.so",  line 668, in pandas.hashtable.PyObjectHashTable.get_item    (pandas/hashtable.c:12265)
    ÏZ\000L
  File "/Users/xxxx/anaconda/lib/python2.7/site-packages/pandas/hashtable.so", line 676, in pandas.hashtable.PyObjectHashTable.get_item  (pandas/hashtable.c:12216)
    HCHßÿP0L½ÐõÿÿA~H½Àõÿÿèî9\000HÃHÛÈ\000\000¿\000\000\000è.;\000HÀ\000\000HXHØõÿÿè9\000HÀ\000\000HÈõÿÿH=:ú\000H+ü\000HÞèå8\000IÇMÿµ    \000\000IÿIOH\000\000\000H5êþ\000HÀø    \000\000LÿÿÐIÅA¼ \000\000Mí÷    \000\000Iÿu
KeyError: 'startdate'
我不明白这一点。一切似乎都很好。我只是无法引用数据帧中的任何内容

>>>df[0]
产生类似的键错误

>>>df.index
Index([u'currency', u'assets', u'assetsDate', u'assetsCrncy', u'name2',
   u'name3', u'isin', u'wpk', u'inceptDate', u'assetClassFocus', u'bid',
   u'attrib', u'startdate', u'enddate'],
  dtype='object', name=u'name')
看起来也不错


我的错误在哪里?

df.ix[“startdate”]适合我

太好了!对我也有用。为什么
df[“startdate”]
df[0]
不起作用?基本上,您需要指定要选择的列和值。通过使用
df[0]
python无法理解要从中选择的值或列。我发现了一个错误。当我保存它时,它是一个系列,当我读取它时,它被转换为一个数据帧。因此,我在尝试引用时感到困惑。但我无法将其作为一个系列读回。找到了答案:
s=pd.read\u csv(filename,index\u col=0,squeak=True)
返回该系列。从那以后一切都很好。