【Python】导入Excel数据表的几种方式

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

1. 导入CSV格式的Excel表:

import pandas as pd
import numpy as np

df_data=pd.read_csv('数据底表.csv')
print(df_data.shape) 
df_data.head(3)

2. 导入xlsx格式的Excel表:

  • 如果Excel表里只有一个sheet页:
import pandas as pd

df_data = pd.read_excel('数据底表.xlsx',engine='openpyxl')
  • 如果Excel表里有多个sheet页:
import pandas as pd

df_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 pd

def 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]
    # 返回每个工作表的名称和对应的 DataFrame
    return {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['学生']

你可能感兴趣的:(Python,python,excel,开发语言)