I’m trying to retrieve one row of data from my Dataframe created from a csv file accessed via URL.
URL = 'http://www.bom.gov.au/clim_data/cdio/tables/text/IDCJCM0033_091126.csv'
s = requests.get(URL).content
df1 = pd.read_csv(io.StringIO(s.decode('utf-8')), sep=',', escapechar='\', skiprows=11)
I’m using…
df1['Statistic Element'].str.contains('Mean rainfall')
…to determine the row containing the data I require however python does not recognize the .str element of the dataframe?
The code works fine using a test dataframe so I’m wondering if there is a problem with the csv?
Advertisement
Answer
remove decode and StringIO and try again. here I have downloaded your ‘.csv’ file and renamed it “cs.csv”. nothing is wrong with it:
from pandas import
df = pd.read_csv('cs.csv', sep=',', escapechar='\', skiprows=11)
# even do not need sep and escapechar.
>>> df['Statistic Element'].str.contains('Mean rainfall')
0 False
1 False
2 False
3 False
4 False
5 False
6 False
7 False
8 False
9 False
10 False
11 False
12 False
13 False
14 False
15 False
16 False
17 False
18 False
19 False
20 False
21 False
22 False
23 True
24 False
25 False
26 False
27 False
28 False
29 False
30 False
31 False
32 False
33 False
34 False
35 False
36 False
37 False
38 False
39 False
40 False
41 False
42 False
43 False
44 False
45 False
46 False
47 False
48 False
49 False
50 False
51 False
52 False
53 False
54 False
55 False
56 False
Name: Statistic Element, dtype: bool