![](/img/trans.png)
[英]I'm getting this error : Traceback (most recent call last): File "./prog.py", line 4, in <module> KeyError: 'price'
[英]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.