Pandas读取和将数据存储到多个sheet的excel以及read_excel函数常用参数详解

Pandas读取和将数据存储到多个sheet的excel以及read_excel函数常用参数详解

Excel数据显示:
Pandas读取和将数据存储到多个sheet的excel以及read_excel函数常用参数详解_第1张图片

read_excel函数常用参数详解
1、io
读取路径 个人比较喜欢第一种(r’datas.xlsx’)读取路径的方式,显式声明字符串不用转义。

import pandas as pd

data1 = pd.read_excel(
        r'datas.xlsx',sheet_name='data1')
print(data1)
#    姓名 性别  年龄    专业
# 0  张三  男  18  车辆工程
# 1  李四  男  20    化学
# 2  王五  女  17  软件工程
# 3  莉莉  女  18    物理
data2 = pd.read_excel(
        io='datas.xlsx',sheet_name=1)
print(data2)
#     姓名 性别
# 0   赵六  男
# 1  李元芳  男

2、sheet_name
sheet_name 默认为0读取第一个sheet的数据,可以使用列表返回多个sheet的数据,参数为None时返回全部sheet的数据,当参数为数字或者字符串格式的sheetname时,返回dataframe,当参数是列表或者None时,返回字典。

import pandas as pd

data1 = pd.read_excel(
        r'datas.xlsx',sheet_name='data1')
print(data1)
#    姓名 性别  年龄    专业
# 0  张三  男  18  车辆工程
# 1  李四  男  20    化学
# 2  王五  女  17  软件工程
# 3  莉莉  女  18    物理
data2 = pd.read_excel(
        io='datas.xlsx',sheet_name=1)
print(data2)
#     姓名 性别
# 0   赵六  男
# 1  李元芳  男
data3 = pd.read_excel(
        r'datas.xlsx',sheet_name=[0,1])
print(data3)
# {0:    姓名 性别  年龄    专业
# 0  张三  男  18  车辆工程
# 1  李四  男  20    化学
# 2  王五  女  17  软件工程
# 3  莉莉  女  18    物理, 
# 1:     姓名 性别
# 0   赵六  男
# 1  李元芳  男}
print(type(data3))
# 

data4 = pd.read_excel(
        r'datas.xlsx',sheet_name=None)
print(data4)
# {0:    姓名 性别  年龄    专业
# 0  张三  男  18  车辆工程
# 1  李四  男  20    化学
# 2  王五  女  17  软件工程
# 3  莉莉  女  18    物理,
# 1:     姓名 性别
# 0   赵六  男
# 1  李元芳  男}
print(type(data4))
# 

3、names 设置列名

import pandas as pd

data1 = pd.read_excel(
        r'datas.xlsx',sheet_name='data1',names=['name','sex','age','major'])
print(data1)
#   name sex  age major
# 0   张三   男   18  车辆工程
# 1   李四   男   20    化学
# 2   王五   女   17  软件工程
# 3   莉莉   女   18    物理

4、usecols
设置你取sheet哪几列数据,从零开始。

import pandas as pd
data1 = pd.read_excel(
        r'datas.xlsx',sheet_name='data1',usecols=[0,3])
print(data1)
#    姓名    专业
# 0  张三  车辆工程
# 1  李四    化学
# 2  王五  软件工程
# 3  莉莉    物理

5、header
设置作为columns的行,默认取sheet的第一行,如果sheet没有columns,则将header=None。

import pandas as pd
data1 = pd.read_excel(
        r'datas.xlsx',sheet_name='data3')
# sheet没有columns将会将第一行设为columns
print(data1)
#     张三  男
# 0   李四  男
# 1   王五  女
# 2   莉莉  女
# 3   赵六  男
# 4  李元芳  男

data2 = pd.read_excel(
        r'datas.xlsx',sheet_name='data3',header=None,names=['name','sex'])
print(data2)
#   name sex
# 0   张三   男
# 1   李四   男
# 2   王五   女
# 3   莉莉   女
# 4   赵六   男
# 5  李元芳   男

进行简单处理,然后将多个数据存到不同的sheet的Excel
将数据存到Excel需要安装openpyxl库
pip install openpyxl

data1['工作']='学生'
data2['工作']='老师'
with pd.ExcelWriter(r'datas_new.xlsx') as writer:
    data1.to_excel(writer, sheet_name='学生',index=False, encoding='utf_8_sig',header=True)
    data2.to_excel(writer, sheet_name='老师',index=False, encoding='utf_8_sig',header=True)

处理完Excel数据显示:

Pandas读取和将数据存储到多个sheet的excel以及read_excel函数常用参数详解_第2张图片

你可能感兴趣的:(Pandas,python,excel,数据分析)