我尝试使用Pandas进行一些AWS定价分析,它涉及使用API将EC2定价数据转换为df。不幸的是,在有用数据开始之前,数据集由5行和2列描述符组成(见图)。当我的代码遇到有用数据的开头时,这会导致错误,该数据有51列。
如何告诉它忽略前5行,并将第6行视为我的列标题?
我在这里:
import pandas as pd
import requests
import io
pricing_url = "https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/index.csv"
pricing_r = requests.get(pricing_url).content
pricing = pd.read_csv(io.StringIO(pricing_r.decode('utf-8')))
ParserError: Error tokenizing data. C error: Expected 2 fields in line 6, saw 51
答案 0 :(得分:3)
与往常一样,docs在这里很有用。只需指定要用作标题行的行以及数据的开头:
pricing = pd.read_csv(io.StringIO(pricing_r.decode('utf-8')), header=5)