繁体   English   中英

我在以下程序中遇到错误,因为 KeyError Traceback(最近一次调用最后一次)

[英]I'm getting an error in the following program as KeyError Traceback (most recent call last)

这是我的代码-

import pandas as pd

df5=pd.read_csv(r'C:\Anaconda3\airtravel.csv')

print(df5)

   Month   "1958"   "1959"   "1960"
0    JAN      340      360      417
1    FEB      318      342      391
2    MAR      362      406      419
3    APR      348      396      461
4    MAY      363      420      472
5    JUN      435      472      535
6    JUL      491      548      622
7    AUG      505      559      606
8    SEP      404      463      508
9    OCT      359      407      461
10   NOV      310      362      390
11   DEC      337      405      432

但是当我尝试访问这个时: -

print(df5['1960'])

我得到一个错误。

KeyError: '1960'

我不明白为什么会这样。 文件链接: https://people.sc.fsu.edu/~jburkardt/data/csv/csv.html

谢谢

您的列包含引号以及列名。 也许df5['"1960"']会工作

我检查了这个文件。 我们这里有两个问题。 在列名中,开头有一个空格,年份之间有“”。

可能的解决方案:

  • 放一个参数'skipinialspace'。 它将删除空格和引号。 然后你可以像你想要的那样打印它:

     df5 = pd.read_csv(r'C:\Anaconda3\airtravel.csv', skipinitialspace=True) print(df5['1960'])
  • 去掉两边的空格,在名字后面加上“”:

     df5 = pd.read_csv(r'C:\Anaconda3\airtravel.csv') df5.columns = [x.strip() for x in df5.columns] print(df5['"1960"'])
  • 保持原样并在开头添加空格:

     df5 = pd.read_csv(r'C:\Anaconda3\airtravel.csv') print(df5[' "1960"'])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM