欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python开发使用Pandas包进行Excel表格数据操作

程序员文章站 2022-05-06 19:06:51
文章目录DataFrames的简单介绍及其创建与创建DataFrames有关的3种数据结构创建DataFrames的函数代码展示执行结果Pandas中有关Excel表格文件读入与创建的函数介绍各函数的重要参数介绍代码展示执行结果从数据抽取到创建DataFrames, 最后数据持久化到文件的流程展示代码展示执行结果DataFrames的简单介绍及其创建Dataframes相当于是Excel表格中的一个Sheet表,它有列名,行索引,还有每行都有若干个与表的列名对应的数据[外链图片转存失败,源站可能有...



DataFrames的简单介绍及其创建

Dataframes相当于是Excel表格中的一个Sheet表,它有列名,行索引,还有每行都有若干个与表的列名对应的数据

Python开发使用Pandas包进行Excel表格数据操作

使用Pandas的API可以从一个Excel文件或者CSV文件中读取某一个Sheet表,而这个Sheet表中的数据会被转化成DataFrames的结构。同理,当我们想使用Pandas库将我们格式化后的数据输出到一个Sheet表中(不论是Excel文件或是CSV文件)时,我们也要创建一个DataFrames的结构,将我们的数据以DataFrames的形式作为参数传递给Pandas的函数,让其将我们的数据持久化到文件中,因此,这就是我们学习DataFrames的原因

与创建DataFrames有关的3种数据结构

  • 使用列表字典 ( { ‘column1’ : [‘d1’, ‘d2’, ‘d3’ …], ‘column2’ : [‘d1’, ‘d2’, ‘d3’ … ]… } )
  • 使用字典列表 ( [ { ‘column1’ : ‘d1’, ‘column2’ : ‘d2’ }, { ‘column1’ : ‘d1’, ‘column2’ : ‘d2’ } … ] )
  • 使用双层列表 ( [ [‘d1’, ‘d2’, ‘d3’], [‘d4’, ‘d5’, ‘d6’] … ] )

创建DataFrames的函数

  • pandas.DataFrame( args… )

代码展示

# TODO 使用字典列表创建DataFrames lists_dicts = list() dic1 = {'name':'name1', 'group':'group1'} dic2 = {'name':'name2', 'group':'group2'} lists_dicts.append(dic1) lists_dicts.append(dic2) df = pd.DataFrame(lists_dicts) '''
writer = pd.ExcelWriter('/Users/wong/Desktop/test.xlsx')
df.to_excel(writer, index=False)
writer.save()
writer.close()
''' # TODO 使用列表字典创建DataFrames dicts_lists = dict() dicts_lists.setdefault('age', ['age1', 'age2']) dicts_lists.setdefault('sex', ['sex1', 'sex2']) df = pd.DataFrame(dicts_lists) '''
writer = pd.ExcelWriter('/Users/wong/Desktop/test.xlsx')
df.to_excel(writer, index=False)
writer.save()
writer.close()
''' # TODO 使用二维列表创建DataFrames lists_2dimen = [] column_list = ['name', 'group', 'age', 'sex'] lists_2dimen.append(['name1', 'group1', 'age1', 'sex1']) lists_2dimen.append(['name2', 'group2', 'age2', 'sex2']) df = pd.DataFrame(lists_2dimen, columns=column_list) '''
writer = pd.ExcelWriter('/Users/wong/Desktop/test.xlsx')
df.to_excel(writer, index=False)
writer.save()
writer.close()
''' 

执行结果

  • TODO 1
    Python开发使用Pandas包进行Excel表格数据操作
  • TODO 2
    Python开发使用Pandas包进行Excel表格数据操作
  • TODO 3
    Python开发使用Pandas包进行Excel表格数据操作

Pandas中有关Excel表格文件读入与创建的函数介绍

  • pandas.read_excel( args… )
  • pandas.ExcelWriter( args… )
  • DataFrames.to_excel( args… )
  • DataFrames.iterrows( )

各函数的重要参数介绍

  • pandas.read_excel( args… )

sheet_name : str, int, list, None, 默认为0

如果参数是字符串, 则是指定对应的表名; 参数是整数型时, 指定对应sheet的位置, 从0开始; 参数是字符串列表或整数型列表时, 则是指定多个sheet表; 如果参数为None, 则是指定全部sheet

header : int, list of int, 默认为0

如果参数是整数型, 指定对应的行为表头; 如果参数是整数型列表, 指定多行为表头; 默认为0, 也就是第一行; 置为None时, 表示表中没有表头即列名这一行

names : list of string, 默认为0

如果参数是字符串列表, 指定与列表中的字符串匹配的列; 如果表没有表头, 那么可以指定为None

index_col : int, list of int, 默认为None

如果参数是整数类型, 指定对应的列为索引列, 也就是类似每一行的唯一标识; 如果参数是整数列表, 指定多个列作为索引列; 默认为None, 也就是不指定任何一列

  • pandas.ExcelWriter( args… )

path : str

指定Excel文件的输出路径

  • DataFrame.to_excel( args… )

excel_writer : str or ExcelWriter object

如果参数是字符串, 指定Excel文件的输出路径; 如果参数是ExcelWriter对象, 则是ExcelWriter对象指定的路径

sheet_name : str, default 'Sheet1’

如果参数是字符串, 则是指定创建的sheet名; 默认为’Sheet1’

columns : sequence or list of str, optional

如果参数是字符串列表, 则创建该字符串列表作为表头, 也就是列名

header : bool or list of str, default True

如果参数是布尔值, 则是选择输出表头列是否开启; 如果参数是字符串列表, 则是创建该字符串列表为表头, 也就是列名; 默认为开启

index : bool, default, True

如果参数是布尔值, 则是输出每一行的行标识 ( 默认是索引值 ), 默认为开启

index_label : str or sequence, optional

为索引列指定列名; 如果header参数和index参数为True时, 则该参数则是索引列的列名

  • DataFrame.iterrows( )

该函数返回一个可用于遍历dataframe结构每一行的迭代器, 常用语句是for index, row in DataFrame.iterrows( )

从数据抽取到创建DataFrames, 最后数据持久化到文件的流程展示

源数据表与数据导出目标格式

Python开发使用Pandas包进行Excel表格数据操作
Python开发使用Pandas包进行Excel表格数据操作

代码展示

import pandas as pd # 源数据没有表头即列名这一行, 所以header置为None t1 = pd.read_excel('/Users/wong/Desktop/test1.xlsx', header=None) # 定义一个字典来格式化数据 data_dic = dict() # 抽取源数据 for index, row in t1.iterrows(): data_dic.setdefault(row[0], []) if data_dic[row[0]].__contains__(row[0]) == False: data_dic[row[0]].append(row[0]) data_dic[row[0]].append(row[1]) # 转化成双层列表 data_list = list() for key in data_dic: data_list.append(data_dic[key]) # 根据双层列表创建DataFrame并将数据输出到文件中 df = pd.DataFrame(data_list, columns=['name', 'age', 'group', 'sex']) df.to_excel('/Users/wong/Desktop/test2.xlsx', index=False) 

执行结果

Python开发使用Pandas包进行Excel表格数据操作

Pandas官方中文文档及英文文档

''' https://www.pypandas.cn/ ''' ''' https://pandas.pydata.org/ ''' 

本文地址:https://blog.csdn.net/weixin_41741302/article/details/109032547

相关标签: excel python