走走道崴了 2024-02-20 18:27 采纳率: 40%
浏览 12
已结题

python数组保存到excle报错


def a(ContextInfo):
    
    import pandas as pd
    data_list = ContextInfo.get_market_data_ex(
         fields=['open', 'high'], stock_code=['113595.SH','127098.SZ'], period='5m'
        , start_time='20240207113000', end_time='', count=-1
        , dividend_type='follow', fill_data=True
        , subscribe=True)
    print('\n',data_list)
    # 将数据转换为DataFrame格式
    df = pd.DataFrame(data_list)

# 将DataFrame保存为Excel文件
    df.to_excel('market_data.xlsx', index=False)

运行结果如下,我只想把结果全部放到excle

img

  • 写回答

17条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-02-20 18:28
    关注

    引自免费微信小程序:皆我百晓生

    根据您提供的运行结果,data_list是一个字典,其中每个键(如"113595.SH"和"127098.SZ")对应一个DataFrame。在将这样的数据直接转换为一个单一的DataFrame并保存到Excel文件时,出现了错误提示“ValueError: If using all scalar values, you must pass an index”。

    要解决这个问题,首先需要将字典中的多个DataFrame合并成一个,并确保它们有合适的索引。这里是一个修复后的代码示例:

    def a(ContextInfo):
        import pandas as pd
        
        # 获取原始数据并转换为DataFrame格式
        data_dict = ContextInfo.get_market_data_ex(
             fields=['open', 'high'], stock_code=['113595.SH','127098.SZ'], period='5m'
            , start_time='20240207113000', end_time='', count=-1
            , dividend_type='follow', fill_data=True
            , subscribe=True)
        
        # 将字典中所有DataFrame合并为一个DataFrame
        df = pd.concat({k: pd.DataFrame(v).set_index('stime') for k, v in data_dict.items()}, axis=1)
    
        print(df)
        
        # 保存DataFrame到Excel文件
        df.to_excel('market_data.xlsx', index=False)
    

    在这个修正后的代码中,我们首先遍历data_dict,对每个子DataFrame设置其索引为'stime'列。然后使用pd.concat函数沿着列(axis=1)合并所有DataFrame。

    注意:如果sname列是每一组数据的共同列名,则可以将其用作最终DataFrame的索引,但若不是,则需保留该列并在保存到Excel时加上index=True。由于原始输出未显示sname列是否存在,此处假设stime作为唯一的时间索引列。如果stime不是唯一的列且需要作为普通列存在,请不要调用.set_index('stime')

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月22日
  • 创建了问题 2月20日

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算