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

如何用Pandas让写入Excel的数组元素以逗号分隔显示

解决Pandas写入Excel时数组无逗号分隔的问题

当前你通过Pandas将NumPy数组写入Excel后,单元格内的数组元素没有逗号分隔(如显示为[2.2 2.3 3.4]),需要将其转换为标准的[2.2, 2.3, 3.4, ...]格式。核心解决思路是:将NumPy数组转换为手动格式化的字符串,而非直接保留数组对象写入Excel。

优化后的完整代码

import numpy as np
import pandas as pd

# 读取原始Excel数据
pd_berat_badan_laki_laki = pd.read_excel("Tabel Antropometri Laki-Laki.xlsx", sheet_name='Berat badan menurut umur')
pd_panjang_badan_laki_laki = pd.read_excel("Tabel Antropometri Laki-Laki.xlsx", sheet_name='Panjang badan menurut umur')

# 定义数组转格式化字符串的工具函数
def format_array_to_str(arr):
    # 将数组元素转为字符串,用逗号分隔后包裹方括号
    return f"[{', '.join(map(str, arr))}]"

# 批量处理体重数据列,转换为格式化字符串
cols = ['-3 SD', '-2 SD', '-1 SD', 'Median', '+1 SD', '+2 SD', '+3 SD']
dict_antropometri_berat_laki = {
    col: format_array_to_str(pd_berat_badan_laki_laki[col].to_numpy()) 
    for col in cols
}

# 批量处理身高数据列,转换为格式化字符串
dict_antropometri_panjang_badan_laki = {
    col: format_array_to_str(pd_panjang_badan_laki_laki[col].to_numpy()) 
    for col in cols
}

# 构建DataFrame
df_arr_berat = pd.DataFrame([dict_antropometri_berat_laki])
df_arr_panjang = pd.DataFrame([dict_antropometri_panjang_badan_laki])

# 写入目标Excel文件
with pd.ExcelWriter('Tabel Array Antropometri Laki-Laki.xlsx', engine='xlsxwriter') as writer:
    df_arr_berat.to_excel(writer, sheet_name='Berat badan menurut umur', index=False)
    df_arr_panjang.to_excel(writer, sheet_name='Panjang badan menurut umur', index=False)

关键修改说明

  1. 格式化函数format_array_to_str:

    • 用map(str, arr)将数组每个元素转为字符串
    • 用', '.join()将元素用逗号+空格连接
    • 最后用方括号包裹,生成标准格式的字符串
  2. 简化重复代码:

    • 用字典推导式批量处理所有列,避免重复定义多个数组变量
    • 使用with上下文管理器管理ExcelWriter,自动处理文件保存逻辑

备选方案(已构建数组DataFrame时)

如果已经有了包含原始NumPy数组的DataFrame,可直接对列批量转换:

# 对DataFrame的每一列执行格式化转换
df_arr_berat = df_arr_berat.applymap(lambda x: f"[{', '.join(map(str, x))}]")
df_arr_panjang = df_arr_panjang.applymap(lambda x: f"[{', '.join(map(str, x))}]")

转换后写入Excel,单元格内将显示[2.2, 2.3, 3.4, ...]的目标格式。

内容的提问来源于stack exchange,提问作者Irgi Ahmad Maulana

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 04:15:18