python - 为什么在用 python 编写 excel 文件时会得到像 [0, 1, 2, ...] 这样的行作为标题?

标签 python pandas pandas.excelwriter

我导入了一个 Excel 文件,更改了 B1 并将其导出,但我不想将一行(第一行)作为标题。我想将数据写入 DataFrame 的第一行,恰好位于 Excel 工作表的第 1 行。 这是我写的:

# import
df = pd.read_excel("DataName.xlsx", sheetname=0, header=None)

# setting the field B1 to a string
df.iloc[0,1] = "my text"

# Export
writer = pd.ExcelWriter(mypath, engine='xlsxwriter')
df.to_excel(writer, sheet_name= new_sheet, index=False)
writer.save()

但导出的Excel文件B1中不包含“我的文本”。相反,包含“1”,并且第一行有一个标题,例如 [0, 1, 2, ...]

“我的文本”被写入B2。

`

最佳答案

Pandas 有一个 header 属性,您可以将其设置为 false,如果 index=False 不起作用,您可以切掉索引,因此它看起来像:

df.to_excel(writer,sheet_name=new_sheet,index=False,header=False).drop(['unnamed 0'],axis=1)

有关更多详细信息,请参阅此答案 https://stackoverflow.com/a/42978156/2779192

关于python - 为什么在用 python 编写 excel 文件时会得到像 [0, 1, 2, ...] 这样的行作为标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49634016/

相关文章:

python - 在 Linux 上调用 cx_Oracle 之前设置正确的环境变量

python-3.x - pandas.ExcelWriter ValueError:xlsxwriter不支持追加模式

python - Pandas ExcelWriter .save() 出错;权限错误 [WinError 32]

python - 如何在数据框中创建一个新列,根据前一列结果的百分比使用 1 或 0?

Python3 - 在 __eq__ 方法中使用 super() 会引发 RuntimeError : super(): __class__ cell not found

python - 将 split() 的结果解包为比指定数量更少的变量

python - 数字作为 statsmodels.formula.api 无法识别的变量名称

python - Pandas percentrank 基于每个索引中的组

python - Pandas Dataframe 在列表列中删除重复项?

python - 编写多个 pandas dataframes 到 excel