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

使用pandas ExcelWriter写入数据后出现多余小数点的问题求助

使用pandas ExcelWriter写入数据后出现多余小数点的问题求助

大家好,我最近在处理pandas写入Excel的需求时遇到了一个诡异的问题,想请教下各位大佬怎么解决。

我的需求很明确:把data.csv里A1到T1的20个数值数据,追加写入到Mergeddata.xlsx的Sheet1工作表中,从D2单元格(对应代码里的startcol=3、startrow=1)开始的位置。

我写的实现代码如下:

import pandas as pd
import numpy as np
import os

df = pd.read_csv('data.csv', header=0)
with pd.ExcelWriter('Mergeddata.xlsx', engine="openpyxl", mode='a', if_sheet_exists='overlay') as writer:
    df.to_excel(writer, sheet_name='Sheet1', startcol=3, startrow=1, index=False)

初始数据情况

  • data.csv要复制的目标数据:

    90.77 90.7 90.8 81 69.3 90 0.72 0.71 0.72 64.46 90 64.54 63.64 65 5808.68 90 0.98 0.98 0.98 88.24 90

  • Mergeddata.xlsx的初始表头与已有数据:

    Time NE Index DuVoltageAvg(V) DuVoltageMin(V) DuVoltageMax(V) DuVoltageTot(V) DuVoltageCnt(count) DuCurrentAvg(A) DuCurrentMin(A) DuCurrentMax(A) DuCurrentTot(A) DuCurrentCnt(count) DuPowerAvg(W) DuPowerMin(W) DuPowerMax(W) DuPowerTot(W) DuPowerCnt(count) PowerFactorAvg(PF) PowerFactorMin(PF) PowerFactorMax(PF) PowerFactorTot(PF) PowerFactorCnt(count)
    2025-06-08 15:15 SC_401B ShelfID0/SlotID0 90.73 90.6 90.8 8165.7 90 0.72 0.71 0.72 64.44 90 64.46 63.64 65.45 5801.3 90 0.98 0.98 0.98 88.24 90

出现的问题

执行完代码后,我打开Mergeddata.xlsx发现目标单元格的数据完全不对了:

  • 原本独立的数值被错误拼接,比如81和69.3变成了8169.3
  • 重复的数值后面多了小数点和序号后缀,比如原0.72变成0.72.1,原90变成90.0.1、90.0.2这类奇怪的格式

我本来以为if_sheet_exists='overlay'参数会直接覆盖指定位置的单元格内容,但实际结果却完全超出预期。有没有人遇到过类似的问题?怎么才能让写入的数值和data.csv里的原始值完全一致,不会出现多余的小数点后缀和拼接错误呢?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 07:27:57