excel 如何使用电子表格中的第一行作为Dataframe列名,而不是0 1 2. etc?

yqkkidmi  于 2023-10-22  发布在  其他
关注(0)|答案(3)|浏览(201)

我希望我的框架显示第一行的名称作为我的框架列的名称,而不是编号从0等。我该怎么做?
我尝试使用pandas和openpyxl模块将我的Excel电子表格转换为一个Excel框架。

import pandas as pd
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows

wb = load_workbook(filename='Budget1.xlsx')
print(wb.sheetnames)
sheet_ranges=wb['May 2019']
print(sheet_ranges['A3'].value)

ws=wb['May 2019']
df=pd.DataFrame(ws.values)
print(df) # This displays my dataframe.

我希望我的框架的列标题显示日期,描述和金额,而不是0,1,2。

am46iovg

am46iovg1#

在使用pandas阅读数据框后,您可以分隔第一行,然后将其用作列名:

columnNames = df.iloc[0] 
df = df[1:] 
df.columns = columnNames

或者,您可以直接使用pandas读取,将第一行设置为列名:

excelDF = pd.ExcelFile('Budget1.xlsx')
df1 = pd.read_excel(excelDF, 'SheetNameThatYouWantTORead')
print(df1.columns)
zc0qhyus

zc0qhyus2#

您可以将列重置为您的框架的第一行:

df.columns = df.iloc[0, :]
df.drop(df.index[0], inplace=True)
df

h9a6wy2h

h9a6wy2h3#

将pandas导入为pd
data = pd.read_excel(“filename.xlsx”,sheetname='xyz',header=0,skiprows=[0])
header=0将第一行作为header读取,而skiprows将允许您跳过第一行作为数据

相关问题