Dec-03-2021, 09:10 PM
(Dec-03-2021, 06:21 PM)deanhystad Wrote: I wrote this:
import pandas as pd cars = pd.DataFrame({'cars_per_cap': [809, 731, 588, 18, 200, 70, 45], 'country': ['United States', 'Australia', 'Japan', 'India', 'Russia', 'Morocco', 'Egypt'], 'drives_right': ['true', 'false', 'false', 'false', 'true', 'true', 'true']}) cars.to_csv('cars.csv') cars2 = pd.read_csv('cars.csv') print(cars2['country'])It produces this output:
The csv file looks like this:
Output:0 United States 1 Australia 2 Japan 3 India 4 Russia 5 Morocco 6 Egypt Name: country, dtype: object
Not everything is necessary. and the CSV file doesn't need underscores instead of spaces. I edited the CSV file to look like this:
Output:,cars_per_cap,country,drives_right 0,809,United States,true 1,731,Australia,false 2,588,Japan,false 3,18,India,false 4,200,Russia,true 5,70,Morocco,true 6,45,Egypt,true
And ran this program:
Output:cars per cap,country,drives right 809,United States,true 731,Australia,false 588,Japan,false 18,India,false 200,Russia,true 70,Morocco,true 45,Egypt,true
import pandas as pd print(pd.read_csv('cars.csv')['country'])And it produced this output:
I then modified the CSV file to look like this:
Output:0 United States 1 Australia 2 Japan 3 India 4 Russia 5 Morocco 6 Egypt Name: country, dtype: object
And I get this error:
Output:cars per cap, country, drives right 809,United States,TRUE 731,Australia,FALSE 588,Japan,FALSE 18,India,FALSE 200,Russia,TRUE 70,Morocco,TRUE 45,Egypt,TRUE
The dataframe keys are 'cars per cap', ' country', and ' drives right'. The blank I inserted to make the CSV file look pretty is being interpreted as a leading blank in the key name. Could this be your error?
Error:Traceback (most recent call last): File "...", line 2, in <module> print(pd.read_csv('cars.csv')['country']) File "...\lib\site-packages\pandas\core\frame.py", line 3455, in __getitem__ indexer = self.columns.get_loc(key) File "...\lib\site-packages\pandas\core\indexes\base.py", line 3363, in get_loc raise KeyError(key) from err KeyError: 'country'
THAT IS TOTALLY MY ERROR! Thank you for being so thorough!
No spaces between commas and the next entry. Got it. Thanks so much!!