当列索引更改时,如何在python中设置行索引?

我正在尝试阅读公司财务信息的csv。尽管根据公司的不同,行索引的名称始终在变化(例如,使用facebook时,行索引的名称为“会计年度结束于12月。以美元为单位,除每股数据外,单位为百万美元。”),但对于另一家公司,其会计年度将结束于1月。 ..)如何使第一列名称保持一致?我通过重命名列进行了尝试,但是会引发错误。


stock = "FB"

#Import the data

Ratios = pd.read_csv("http://financials.morningstar.com/ajax/exportKR2CSV.html?t="+stock, skiprows=2)

incomeStatement = pd.read_csv("http://financials.morningstar.com/ajax/ReportProcess4CSV.html?t="+stock+"&reportType=is&period=3&dataType=A&order=asc&columnYear=5&number=3", skiprows = 1)

balSheet = pd.read_csv("http://financials.morningstar.com/ajax/ReportProcess4CSV.html?t="+stock+"&reportType=bs&period=3&dataType=A&order=asc&columnYear=5&number=3", skiprows = 1)


incomeStatement.columns(['Title','Q1','Q2','Q3','Q4','Q5', 'TTM'])

balSheet.columns(['Title','Q1','Q2','Q3','Q4','Q5', 'TTM'])

#Set the columns

Ratios.set_index("Unnamed: 0", inplace=True)

incomeStatement.set_index("Title", inplace=True)

balSheet.set_index("Title", inplace=True)

这将起作用,但是对于不同的公司,设置的索引名称将始终更改。


stock = "FB"

#Import the data

Ratios = pd.read_csv("http://financials.morningstar.com/ajax/exportKR2CSV.html?t="+stock, skiprows=2)

incomeStatement = pd.read_csv("http://financials.morningstar.com/ajax/ReportProcess4CSV.html?t="+stock+"&reportType=is&period=3&dataType=A&order=asc&columnYear=5&number=3", skiprows = 1)

balSheet = pd.read_csv("http://financials.morningstar.com/ajax/ReportProcess4CSV.html?t="+stock+"&reportType=bs&period=3&dataType=A&order=asc&columnYear=5&number=3", skiprows = 1)



#Set the columns

Ratios.set_index("Unnamed: 0", inplace=True)

incomeStatement.set_index("Fiscal year ends in December. USD in millions except per share data.", inplace=True)

balSheet.set_index("Fiscal year ends in December. USD in millions except per share data.", inplace=True)

这是输出的示例: 结果数据帧中 ,我希望索引成为第一列,但该行的名称(会计年度结束日期为12月...)将针对每次迭代进行更改。


牛魔王的故事
浏览 308回答 2
2回答

阿波罗的战车

使用csv.DictReader并设置字段名称(或标题)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python