需求是这样的:
我需要从原始表中提取几列数据,分别填入税表的人员和收入表中,原始表中只有 姓名、身份证号码、年金领取额是有效数据
但是税务局的模板表中有一大堆莫名其妙的字段不需要填写
先把原始表定义一下,把身份证字符串一下
再把需要的人员,收入表需要的原始表中的列复制过来
现在就需要在data_person和data_income中分别添加莫名其妙的字段列了
raw_data = pd.DataFrame(pd.read_excel('D:\报税工作\\201912\年金发放信息120000人.xlsm'))
raw_data['身份证'] = raw_data['身份证'].astype(str)
data_person = raw_data[['姓名','身份证']]
data_income = raw_data[['身份证','待遇支付金额']]
网上搜索一下,给dataframe添加一个新列可以用以下方法:
df['new']='语文'
df['tutu']=''
可是这样会报警告,而且就算是无视警告添加了需要的列
通过
order = ['date', 'time', 'open', 'high', 'low', 'close', 'volumefrom', 'volumeto']
df = df[order]
根本不行。。。。
经过我广泛搜索和摸索,下面的方法有效,而且不报警告~:
list_person_index=[[0,'A',''],[2,'证照类型','居民身份证'],[4,'E',''],[5,'F',''],[6,'G',''],[7,'人员状态','正常'],[8,'任职受雇类型','其他'],[9,'J',''],[10,'K',''],[11,'L',''],[12,'M',''],[13,'N',''],[14,'O',''],[15,'P',''],[16,'Q',''],[17,'R',''],[18,'S',''],[19,'备注','职业年金']]
for each in list_person_index:
data_person.insert(each[0],each[1],each[2])