Python 如何使用电子表格中的第一行作为数据框列名,而不是0 1 2…等?
我希望我的dataframe将第一行名称显示为我的dataframe列名,而不是从0等开始编号。我如何做到这一点 我尝试使用pandas和openpyxl模块将Excel电子表格转换为数据框架Python 如何使用电子表格中的第一行作为数据框列名,而不是0 1 2…等?,python,excel,pandas,dataframe,Python,Excel,Pandas,Dataframe,我希望我的dataframe将第一行名称显示为我的dataframe列名,而不是从0等开始编号。我如何做到这一点 我尝试使用pandas和openpyxl模块将Excel电子表格转换为数据框架 import pandas as pd from openpyxl import load_workbook from openpyxl.utils.dataframe import dataframe_to_rows wb = load_workbook(filename='Budget1.xlsx'
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。您可以将列重置为数据框的第一行:
df.columns = df.iloc[0, :]
df.drop(df.index[0], inplace=True)
df
使用pandas读取数据帧后,可以分离第一行,然后将其用作列名:
columnNames = df.iloc[0]
df = df[1:]
df.columns = columnNames
excelDF = pd.ExcelFile('Budget1.xlsx')
df1 = pd.read_excel(excelDF, 'SheetNameThatYouWantTORead')
print(df1.columns)
或者,您可以使用将第一行设置为列名的熊猫直接读取:
columnNames = df.iloc[0]
df = df[1:]
df.columns = columnNames
excelDF = pd.ExcelFile('Budget1.xlsx')
df1 = pd.read_excel(excelDF, 'SheetNameThatYouWantTORead')
print(df1.columns)