• 如何导入csv、xlsx格式的Excel;
  • 一张数据表里有多个sheet页,如何获取所有sheet页名字,并导入每张sheet页;

1. 导入CSV格式的Excel表:

import pandas as pdimport numpy as npdf_data=pd.read_csv('数据底表.csv')print(df_data.shape) df_data.head(3)

2. 导入xlsx格式的Excel表:

  • 如果Excel表里只有一个sheet页:
import pandas as pddf_data = pd.read_excel('数据底表.xlsx',engine='openpyxl')
  • 如果Excel表里有多个sheet页:
import pandas as pddf_data_表1 = pd.read_excel('数据底表.xlsx',sheet_name='表1',engine='openpyxl')df_data_表2 = pd.read_excel('数据底表.xlsx',sheet_name='表2',engine='openpyxl')
  • 如果Excel表里sheet页过多:
import pandas as pddef read_excel_sheets(excel_file):# 读取 Excel 文件excel_sheets = pd.ExcelFile(excel_file,engine='openpyxl')# 获取工作表名称sheet_names = excel_sheets.sheet_names# 读取每个工作表并存储在 DataFrame 中dfs = [excel_sheets.parse(sheet_name) for sheet_name in sheet_names]# 返回每个工作表的名称和对应的 DataFramereturn {sheet_name: df for sheet_name, df in zip(sheet_names, dfs)}# 示例用法excel_file = '数据表.xls'dfs = read_excel_sheets(excel_file)# 打印每个 DataFrame 的名称和列数for sheet_name, df in dfs.items():print(f'DataFrame: {sheet_name} has {df.columns.size} columns')
df_学校=dfs['学校']df_年级=dfs['年级']df_学生=dfs['学生']