有一个小的数据帧df。 我想将其写入Excel,以便B列包含公式:B = A + C
df = pd.DataFrame(np.random.randint(0,1000,size=(3,3)), columns=list('ABC'))
df['B']='=RC[-1]+RC[1]'
with pd.ExcelWriter(r'C:\Users\belose\Downloads\output.xlsx', engine='openpyxl', mode='w')as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False)
我该怎么办?
答案 0 :(得分:1)
尝试以下公式:
df = pd.DataFrame(np.random.randint(0,1000,size=(3,3)), columns=list('ABC'))
df['B'] = '=INDIRECT("R[0]C[-1]", 0)+INDIRECT("R[0]C[1]", 0)'
with pd.ExcelWriter(r'output.xlsx', engine='openpyxl', mode='w')as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False)
输出:
您也可以通过给出相对于“ B”的“ A”和“ C”列相对于-1和1的位置来即兴创作。
df['B'] = '=INDIRECT("R[0]C[%s]", 0)+INDIRECT("R[0]C[%s]", 0)'%\
(df.columns.get_loc('A') - df.columns.get_loc('B'),
df.columns.get_loc('C') - df.columns.get_loc('B'))