将数据帧的标头设置为.csv导出的顶行

  • 本文关键字:csv 设置 数据帧 python pandas
  • 更新时间 :
  • 英文 :


我希望 excel 文件的第一行是数据帧的标题。(header=0这样做)

当数据帧另存为.csv时,我希望标题位于.csv的第 1 行,就像它们在原始.csv中一样(这是我无法实现的)

我尝试将.to_csvheader=设置为"无"或"0",但两者都不会导致标题成为.to_csv文件的第 1 行。

我现在尝试将第 0 行设置为 df1 并将其与 df 连接起来,但得到一个"第一个参数必须是 pandas 对象的可迭代对象,您传递了一个类型为"Series"的对象">

任何人都可以提供有关如何解决此问题的任何见解,或者是否有更简单的方法?

import pandas as pd
data = pd.read_excel (r'C:UsersdustiDesktopbulk export.xlsx',
sheet_name=0,
header=0)
df = pd.DataFrame(data)
df1 = df. loc[0, :]
df = pd.concat(df1, df)
df.to_excel(r'C:UsersdustiDesktopbulk export1.xlsx',
header=None,
index=False)

(请向我们展示您的数据帧标题行和索引,例如以文本形式发布df.head(4)。我们需要查看您的索引)。

可能出现的问题:

  1. 熊猫.to_excel()to_csv()header参数需要True(布尔值)或其他字符串列名称列表

这与read_csv(header)的行为不同,也可以采用 int(行号用作列名)。

但是您正在尝试将 intheader=0传递到to_excel()/to_csv()

  1. 如果你的索引是一个多索引(是吗?)并且你使用选项to_excel(..., index=False),熊猫有一个持续的开放已知问题 导出到 excel 的多索引列 #11292。解决方案:a) 使用index=True否则 b) 不要在数据帧上创建多索引,或 c)unstack()多重索引。

最新更新