值错误:未正确调用数据帧构造函数!与熊猫


def multiple_dfs(file_name, sheet, *args):
    """
    Put multiple dataframes into one xlsx sheet
    """
    row=2
    writer = pd.ExcelWriter(file_name, engine='openpyxl')
    df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice'], 
               'income': [40000, 50000, 42000]})
    df2 = pd.DataFrame({'amount': [100, 500, 1000], 
               'income': [40000, 50000, 42000]})
    df3 = pd.DataFrame(['Title'])
    df.to_excel(writer, sheet, startrow=row, index=False)
    row += 2
    df2.to_excel(writer, sheet, startrow=row, index=False)
    df3.to_excel(writer, sheet, startrow=0, startcol=0, header=None, 
             index=False)

我有以下错误ValueError: DataFrame constructor not properly called!,但我不能说出问题是什么。有什么建议吗?

我想在工作表的顶部放置一个标题,但我不知道这是否是最佳做法。谁能和熊猫一起向我推荐一些东西?

看来你需要list

df2 = pd.DataFrame(['Test'])
print (df2)
      0
0  Test

编辑:

看来你需要:

def multiple_dfs(file_name, sheet, *args):
    """
    Put multiple dataframes into one xlsx sheet
    """
    row=2
    writer = pd.ExcelWriter(file_name)
    df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice'], 
               'income': [40000, 50000, 42000]})
    df2 = pd.DataFrame({'amount': [100, 500, 1000], 
               'income': [40000, 50000, 42000]})
    df3 = pd.DataFrame(['Title'])
    df.to_excel(writer, sheet, startrow=row, index=False)
    row += len(df) + 1
    df2.to_excel(writer, sheet, startrow=row, index=False)
    df3.to_excel(writer, sheet, startrow=0, startcol=0, header=None, 
             index=False)
multiple_dfs('file.xlsx','Sheet1')

刚刚遇到了同样的错误。我的代码在我的计算机上运行良好,如下所示:

test_dict = {'x': '123', 'y': '456', 'z': '456'}
df=pd.DataFrame(test_dict.items(),columns=['col1','col2'])

但是,它在另一个平台上不起作用。 这给了我错误ValueError: DataFrame constructor not properly called!就像原始问题一样。

我通过简单地在字典项周围添加list()来尝试下面的代码,

df=pd.DataFrame(list(test_dict.items()),columns=['col1','col2'])

而且工作顺利!

希望这个答案可以帮助像我这样遇到类似情况的人。

最新更新