python - 如何使用电子表格中的第一行作为 Dataframe 列名而不是 0 1 2...等?
问题描述
我希望我的数据框将第一行名称显示为我的数据框列名称,而不是从 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')
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。
解决方案
使用 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)
推荐阅读
- c# - 如何有效地从 Stream 动态加载多个图像?
- postgresql - 如何将数据库从 Odoo Online 移动到我服务器上的 Odoo 14?
- sql - 根据字段名称计算两个值的总和
- reactjs - 在将 react 应用程序作为静态内容重新部署到 gcloud 存储时获取意外的 Tokken '<'
- python - Pandas 读取 csv 格式错误
- vba - 如何从自定义标志中提取文本
- c# - 使用 nuget 包而不发布
- javascript - ckeditor:检测上传已完成
- reactjs - DOM 始终是每隔一个页面中的 App 页面 React + Ionic + Typescript
- node.js - 如何从我的 .env 文件中获取变量到 Azure 管道