python pandas 在现有excel中插入新数据

在前面插入新的一列,或者在后面加入新一列

import pandas as pd

filename = 'test.xlsx'
df = pd.read_excel(filename)
# 新插入的数据u_list是从14&16列的数据计算得来
# 所以在这里先提取出14、16列的数据。分别记为:input_a ;input_b
df_0 = pd.read_excel(filename, names=None, usecols=[14, 16])
df_lists = df_0.values.tolist()
u_list = []
for s_list in df_lists:
    input_a = s_list[0]
    input_b = s_list[1]
    u = input_a / input_b 
    u_list.append(u)

# 将数据框的列名全部提取出来存放在列表里
col_name=df.columns.tolist()

# 一、将u_list插入到指定位置。
# 在列索引为2的位置插入一列。刚插入时不会有值,整列都是NaN
# 比如说原来是a,b,c,d;我把新的一列插入到索引2,则变成a,b,新的一列,c,d
col_name.insert(2, '新的一列')

#二、将u_list添加到到后面位置
#比如说原来是a,b;现在想变成a,b,空白,空白,新的一列
#就先加入两个空值
col_name.append('')
col_name.append('')
col_name.append('新的一列')

# DataFrame.reindex() 对原行/列索引重新构建索引值
df=df.reindex(columns=col_name)              

# 把新的数据,放到指定的列名下
df['新的一列']=u_list

你可能感兴趣的:(python pandas 在现有excel中插入新数据)