python 的 dataframe 写入EXCEL时如何去掉Index列,但要保留head(除了index列的head)?
例如: Dataframe
RowID name age
row0 name1 age1
row1 name2 age2
row2 name3 age3
只要head: name 和 age 及下面的data
在 Python 中,使用 pandas 库中的 DataFrame 对象可以轻松地将数据写入 Excel 文件。为了去掉 Index 列,但要保留 Head 行中的除 Index 列外的其他行,您可以使用 DataFrame 对象的 to_excel 方法。
以下是一个示例代码:
python
import pandas as pd
import openpyxl
# 创建 DataFrame
df = pd.DataFrame({'name': ['name1', 'name2', 'name3'], 'age': [1, 2, 3]})
# 将 DataFrame 写入 Excel 文件
writer = openpyxl.Workbook().append(openpyxl.WorkSheet())
writer.title = 'DataFrame'
df.to_excel(writer, sheet_name='Sheet1', index=False)
writer.save('dataframe.xlsx')
在上述代码中,使用 openpyxl.Workbook().append(openpyxl.WorkSheet()) 方法创建一个新的 Excel 文件,并在文件中添加一个名为 'Sheet1' 的工作表。然后使用 df.to_excel(writer, sheet_name='Sheet1', index=False) 将 DataFrame 写入该工作表中,其中 index=False 表示去掉 Index 列。最后,使用 writer.save('dataframe.xlsx') 将文件保存到磁盘中。
上述代码的输出结果应该为:
DataFrame 对象:Sheet1 工作表中除了 Index 列外的所有单元格。
文件名:dataframe.xlsx
感谢!
这句报错了:AttributeError: 'Workbook' object has no attribute 'append'
writer = openpyxl.Workbook().append(openpyxl.WorkSheet())
我本来是想用xlwings,想着可以合并excel单元格的功能,给EXCEL单元格数字格式化一下,加框线等功能。
import xlwings as xw
#省略......
print('input dataframe:')
print(df)
wb = xw.Book()
wbs = wb.sheets(1)
wbs.range("A1").value = df.head()[2:]
wbs.range("A2").value = df.values
input dataframe:
Name age
Row0 name1 1
Row1 name2 2
Row2 name3 3
输出的EXCEL贴图: