我希望 excel 文件的第一行是数据帧的标题。(header=0
这样做)
当数据帧另存为.csv时,我希望标题位于.csv的第 1 行,就像它们在原始.csv中一样(这是我无法实现的)
我尝试将.to_csv
的header=
设置为"无"或"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)
。我们需要查看您的索引)。
可能出现的问题:
- 熊猫
.to_excel()
和to_csv()
header
参数需要True(布尔值)或其他字符串列名称列表。
这与read_csv(header)
的行为不同,也可以采用 int(行号用作列名)。
但是您正在尝试将 intheader=0
传递到to_excel()/to_csv()
- 如果你的索引是一个多索引(是吗?)并且你使用选项
to_excel(..., index=False)
,熊猫有一个持续的开放已知问题 导出到 excel 的多索引列 #11292。解决方案:a) 使用index=True
否则 b) 不要在数据帧上创建多索引,或 c)unstack()
多重索引。