Python是一门强大的编程语言,也是数据科学领域中最流行的语言之一。在处理数据时,很多时候需要与Excel进行交互,以进行数据读取、清理和分析。Python中有很多工具可以与Excel进行交互,其中pandas是其中最受欢迎的库之一。在本文中,我们将介绍如何使用Python和pandas进行Excel文件操作,并讨论一些常用的pandas方法。

读取Excel文件:

import pandas as pd

df = pd.read_excel('example.xlsx')

读取指定的Excel表单:

df = pd.read_excel('example.xlsx', sheet_name='Sheet1')

写入数据到Excel文件:

df.to_excel('example.xlsx', sheet_name='Sheet1', index=False)

追加数据到Excel文件:

with pd.ExcelWriter('example.xlsx', mode='a') as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False)

选择Excel表单中的列:

df = pd.read_excel('example.xlsx')
selected_cols = ['col1', 'col2']
df_selected = df[selected_cols]

选择Excel表单中的行:

df = pd.read_excel('example.xlsx')
selected_rows = df.loc[df['col1'] == 'value1']

过滤Excel表单中的行:

df = pd.read_excel('example.xlsx')
filtered_rows = df[df['col1'].str.contains('value')]

按列排序:

df = pd.read_excel('example.xlsx')
sorted_df = df.sort_values(by='col1')

按列分组并求和:

df = pd.read_excel('example.xlsx')
grouped_df = df.groupby('col1').sum()

对Excel表单中的列应用函数:

df = pd.read_excel('example.xlsx')
df['new_col'] = df['col1'].apply(lambda x: x * 2)

使用Pivot表:

df = pd.read_excel('example.xlsx')
pivot_table = pd.pivot_table(df, values='col1', index='col2', columns='col3', aggfunc='sum')

插入新的行:

df = pd.read_excel('example.xlsx')
new_row = pd.DataFrame({'col1': 'value1', 'col2': 'value2'}, index=[0])
df = pd.concat([new_row, df]).reset_index(drop=True)

插入新的列:

df = pd.read_excel('example.xlsx')
new_col = pd.Series(['value1', 'value2'])
df['new_col'] = new_col

删除行:

df = pd.read_excel('example.xlsx')
df = df.drop(df[df['col1'] == 'value1'].index)

删除列:

df = pd.read_excel('example.xlsx')
df = df.drop('col1', axis=1)

重命名列:

df = pd.read_excel('example.xlsx')
df = df.rename(columns={'col1': 'new_col1', 'col2': 'new_col2'})

修改单元格的值:

df = pd.read_excel('example.xlsx')
df.loc[df['col1'] == 'value1', 'col2'] = 'new_value'

使用多重索引:

df = pd.read_excel('example.xlsx')
df = df.set_index(['col1', 'col2'])

读取多个Excel文件并合并:

import os

path = 'path/to/files'
all_files = os.listdir(path)
all_excels = [file for file in all_files if file.endswith('.xlsx')]
dfs = [pd.read_excel(os.path.join(path, file)) for file in all_excels]
merged_df = pd.concat(dfs)

选择特定的单元格:

df = pd.read_excel('example.xlsx')
cell_value = df.at[0, 'col1']

拆分Excel表单中的列:

df = pd.read_excel('example.xlsx')
split_cols = df['col1'].str.split('-', expand=True)
split_cols.columns = ['col1_part1', 'col1_part2']

将Excel表单中的列合并:

df = pd.read_excel('example.xlsx')
df['col1'] = df['col1'].astype(str) + '-' + df['col2'].astype(str)

将Excel表单中的日期列格式化:

df = pd.read_excel('example.xlsx')
df['date_col'] = pd.to_datetime(df['date_col'], format='%Y-%m-%d')

根据Excel表单中的某一列填充空值:

df = pd.read_excel('example.xlsx')
df['col1'] = df['col1'].fillna(method='ffill')

根据Excel表单中的某一列去除重复行:

df = pd.read_excel('example.xlsx')
df = df.drop_duplicates(subset='col1')

将Excel表单中的数字列格式化为百分比:

df = pd.read_excel('example.xlsx'
df['percentage_col'] = df['percentage_col'].apply(lambda x: '{:.2%}'.format(x))

将Excel表单中的数字列四舍五入:

df = pd.read_excel('example.xlsx')
df['decimal_col'] = df['decimal_col'].round(2)

根据Excel表单中的某一列进行透视:

df = pd.read_excel('example.xlsx')
pivot_table = pd.pivot_table(df, values='col1', index='col2', columns='col3', aggfunc='sum')

计算Excel表单中列的总数:

df = pd.read_excel('example.xlsx')
col_total = df['col1'].sum()

统计Excel表单中每个值的数量:

df = pd.read_excel('example.xlsx')
value_counts = df['col1'].value_counts()

pandas操作excle的更多相关文章

  1. pandas操作行集锦

    pandas移花接木 数据准备两表: 我们接下来要进行的操作: 增 将两表进行合并 # 把两张表合并,但是这样有问题,索引会重复的进行0-19 students = page_001.append(p ...

  2. pandas操作,感觉不错,复制过来的

    整理pandas操作 本文原创,转载请标识出处: http://www.cnblogs.com/xiaoxuebiye/p/7223774.html 导入数据: pd.read_csv(filenam ...

  3. Python之Pandas操作csv文件dataframe

    # -*- coding: utf-8 -*- # author:baoshan import pandas as pd def main(): aqi_data = pd.read_csv('chi ...

  4. python 操作excle 之第三方库 openpyxl学习

    目录 python 操作excle 之第三方库 openpyxl学习 安装 pip install openpyxl 英文文档链接 : 点击这里~ 1,定位excel 2,读取excle中的内容 3, ...

  5. Java操作Excle(基于Poi)

    有一次有个同事问我会不会有java操作Excle,回答当然是不会了!感觉被嘲讽了,于是开始寻找度娘,找到个小例子,结果越写越有意思,最后就成就了这个工具类. import java.io.Buffer ...

  6. Python Pandas操作Excel

    Python Pandas操作Excel 前情提要 ☟ 本章使用的 Python3.6 Pandas==0.25.3 项目中需要用到excel的文件字段太多 考虑到后续字段命名的变动以及中文/英文/日 ...

  7. Pandas 操作

    一.Series的创建: pd.Series([ 数据 ]) In [17]: import pandas as pd In [18]: import numpy as np In [19]: s = ...

  8. 整理pandas操作

    本文原创,转载请标识出处: http://www.cnblogs.com/xiaoxuebiye/p/7223774.html 导入数据: pd.read_csv(filename):从CSV文件导入 ...

  9. pandas操作

    python中使用了pandas的一些操作,特此记录下来: 生成DataFrame import pandas as pd data = pd.DataFrame({ 'v_id': ["v ...

  10. Python openpyxl、pandas操作Excel方法简介与具体实例

    本篇重点讲解windows系统下 Python3.5中第三方excel操作库-openpyxl: 其实Python第三方库有很多可以操作Excel,如:xlrd,xlwt,xlwings甚至注明的数据 ...

随机推荐

  1. NOI 顺序查找——查找特定的值

    描述 在一个序列(下标从1开始)中查找一个给定的值,输出第一次出现的位置. 输入 第一行包含一个正整数n,表示序列中元素个数.1 <= n <= 10000.第二行包含n个整数,依次给出序 ...

  2. oracle 用户连接数查询

    oracle 用户连接数查询 --当前的连接数 select count(*) from v$session; --数据库允许的最大连接数 select value from v$parameter ...

  3. js数组常用的方法

    var arr=['hello','前端','world']; 1. arr.join(分隔符):将数组中的值拼接成一个字符串,返回这个字符串,默认分隔符"," arr.join( ...

  4. sql创建表时候单引号不是单引号是,而是Esc下面的按键

    CREATE TABLE `test`.`testmd5` ( `id` INT ( 4 ) NOT NULL, `name` VARCHAR ( 20 ) NOT NULL, `pwd` VARCH ...

  5. ORACLE 去重

    -----------------------------------------------------------------------------模拟数据------------------- ...

  6. Word 给公式添加题注解决交叉引用中包含公式

    简记:回车,然后 Ctrl +Alt+Enter https://blog.csdn.net/wsj_jerry521/article/details/115163456

  7. OpenJudge2811:熄灯问题(枚举)

    熄灯问题 有一个由按钮组成的矩阵,其中每行有6个按钮,共5行.每个按钮的位置上有一盏灯.当按下一个按钮后,该按钮以及周围位置(上边.下边.左边.右边)的灯都会改变一次.即,如果灯原来是点亮的,就会被熄 ...

  8. 共享USB打印机设置方法

    打印机共享 一.准备 所有计算机在同一个网段. 所有计算机在同一个工作组,组名可以自定义,默认WORKGROUP. 使用超级管理员用户,目的是为了激活guest用户.验证之后可以不需要此前提. 二.主 ...

  9. database.property文件

    注意修改用户名密码 mysql8的版本要注意配置时区 此文件放置连接数据库的相关参数 jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://l ...

  10. .net core 使用 Nlog 集成 exceptionless 配置文件

    nlog.config文件 安装nuget包: NLog.Web.AspNetCore Exceptionless.NLog 配置文件开始 <?xml version="1.0&quo ...