You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python/Pandas将[1x6]行向量逐元素追加到Excel列?

解决方法

首先修正你代码中的语法错误:P1_sch=pd.ExcelWriter np.multiply(...)这行写法错误,pd.ExcelWriter是创建Excel写入器的工具,不能直接和计算函数连用,需先算出数值结果再处理写入。

要将P1_sch到P6_sch的结果逐元素写入Excel的6列,推荐用Pandas的DataFrame统一管理结果,再批量写入,效率更高。

修正后的实现步骤

  1. 把所有计算得到的行向量收集到一个列表中
  2. 将列表转换为DataFrame,适配Excel的列结构
  3. 使用pd.ExcelWriter以追加模式打开文件,把结果写入指定位置

完整代码示例

import numpy as np
import pandas as pd

# 读取Excel数据
s = pd.read_excel('ECOMP TRACKING.xlsx', sheet_name='SCHEDULE')
S = s.to_numpy()
veh = np.array(S[:, 0])[np.newaxis]
V_sch = S[:, 1:]

e = pd.read_excel('ECOMP TRACKING.xlsx', sheet_name='EBOM')
E = e.to_numpy()
veh1 = np.array(E[:, 2])[np.newaxis]

# 初始化列表存储所有计算结果
results = []
b_1 = veh1.size
i = 0

while i < b_1:
    # 计算对应车辆的结果并加入列表
    if veh1[0][i] == veh[0][0]:
        results.append(np.multiply(V_sch[0][:], E[i][5] * E[i][6]))
    elif veh1[0][i] == veh[0][1]:
        results.append(np.multiply(V_sch[1][:], E[i][5] * E[i][6]))
    elif veh1[0][i] == veh[0][2]:
        results.append(np.multiply(V_sch[2][:], E[i][5] * E[i][6]))
    elif veh1[0][i] == veh[0][3]:
        results.append(np.multiply(V_sch[3][:], E[i][5] * E[i][6]))
    elif veh1[0][i] == veh[0][4]:
        results.append(np.multiply(V_sch[4][:], E[i][5] * E[i][6]))
    elif veh1[0][i] == veh[0][5]:
        results.append(np.multiply(V_sch[5][:], E[i][5] * E[i][6]))
    i += 1

# 转换为DataFrame,每行对应一个P_sch结果
results_df = pd.DataFrame(results)

# 写入Excel
with pd.ExcelWriter('ECOMP TRACKING.xlsx', mode='a', if_sheet_exists='overlay') as writer:
    # 示例:写入到SCHEDULE工作表的第7列(G列)开始,从第2行跳过表头
    results_df.to_excel(writer, sheet_name='SCHEDULE', startcol=6, startrow=1, index=False, header=False)

特殊场景调整

如果需要将每个P_sch结果单独写入一列(如P1_sch到A列,P2_sch到B列...),只需转置DataFrame后写入:

results_df = pd.DataFrame(results).T

with pd.ExcelWriter('ECOMP TRACKING.xlsx', mode='a', if_sheet_exists='overlay') as writer:
    results_df.to_excel(writer, sheet_name='SCHEDULE', startcol=0, startrow=0, index=False, header=False)

内容的提问来源于stack exchange,提问作者Harshkt2904

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 11:01:13