Python实例解析:国家财政数据趋势演算

来自CloudWiki
跳转至: 导航搜索

实例:国家财政数据趋势演算

国家统计局每年会公开许多数据,比如国民经济核算指标等,这些数据可以从如下获得。

https://share.weiyun.com/5ckrJ80

统计局公布的大部分数据都以二维表格形式展现,然而,我们怎样从这些二维表格当中读取数据,并把数据展现出来呢?

  • parseCSV:读取数据
  • showResults:展现数据
  • main: 主函数
# FinancePredict.py
def parseCSV(filename):
    dataNames, data = [], []
    f = open(filename, 'r', encoding='utf-8')
    for line in f:
        splitedLine = line.strip().split(',')
        if '指标' in splitedLine[0]:
            years = [int(x[:-1]) for x in splitedLine[1:]]
        else:
            dataNames.append('{:10}'.format(splitedLine[0]))
            data.append([float(x) for x in splitedLine[1:]])
    f.close()
    return years, dataNames, data    

    
def showResults(years, dataNames, newDatas):
    print('{:^60}'.format('国家财政收支线性估计'))
    header = '指标       '
    for year in years:
        header += '{:10}'.format(year)
    print(header)
    for name, lineData in zip(dataNames, newDatas):
        line = name
        for data in lineData:
            line += '{:>10.1f}'.format(data)
        print(line)
    
def main():
    newyears = [x+2010 for x in range(7)]
    newDatas = []
    years, dataNames, datas = parseCSV('finance.csv')
    
    showResults(years, dataNames, datas)
    
main()