Vic
Vic

Reputation: 55

DataFrame object is not callable when counting length

I have a list of part numbers that I want to use to extract a list of prices on a website.

However I'm getting the below error when running the code:

Traceback (most recent call last): File "C:/Users/212677036/.PyCharmCE2019.1/config/scratches/scratch_1.py", line 13, in data = {"partOptionFilter": {"PartNumber": PN(i), "AlternativeOemId": "17155"}} TypeError: 'DataFrame' object is not callable

Process finished with exit code 1

import requests
import pandas as pd

df = pd.read_excel(r'C:\Users\212677036\Documents\Copy of MIC Parts Review - July 26 19.xlsx')
PN = pd.DataFrame(df, columns = ['Product code'])

#print(PN)
i = 0

Total_rows = PN.shape[0]
while i < Total_rows:

    data = {"partOptionFilter": {"PartNumber": PN(i), "AlternativeOemId": "17155"}}
    r = requests.post('https://www.partsfinder.com/Catalog/Service/GetPartOptions', json=data).json()
    print(r['Data']['PartOptions'][0]['YourPrice'])
    i=i+1

Upvotes: 1

Views: 451

Answers (1)

L3n95
L3n95

Reputation: 1615

You are calling PN(i). That is why it says

TypeError: 'DataFrame' object is not callable

The (i) is like a method call.

I am not sure how your df looks like and what you want to extract but you have to index the DataFrame like this:

PN[i] 

or

PN.loc[i, 'columnname'] 

or

PN.iloc[i, 0]

or ... depending on your df

Upvotes: 1

Related Questions