基于Pycharm的Excel文件导入以及数据处理 您所在的位置:网站首页 pycharm读取excel文件中的指定列并绘制饼图 基于Pycharm的Excel文件导入以及数据处理

基于Pycharm的Excel文件导入以及数据处理

2024-06-26 20:14| 来源: 网络整理| 查看: 265

基于Pycharm的Excel文件导入以及数据处理

用了一天的时间进行学习了利用python进行导入excel文件以及处理数据。由于自己是第一次学习,因此特地将所学知识进行总结与分享。

1.包的选取

据我所知,目前常用处理Excel的包主要包括xlrd、pandas。

xlrd 和 pandas 都是 Python 中用于处理 Excel 文件的库,但它们在功能和使用上有一些重要的异同点。

异同点:

1.1 功能和用途:

xlrd 是一个库,主要用于读取 Excel 文件的内容。它提供了一种基本的方式来从 Excel 文件中提取数据,但不支持写入或修改 Excel 文件。pandas 是一个强大的数据处理库,其中包含用于读取和写入 Excel 文件的功能,以及各种数据处理和分析工具。它可以用于读取、处理、分析和写入 Excel 数据,同时还支持多种数据格式和操作。

1.2. 数据结构:

xlrd 以一种较为低级的方式返回 Excel 数据,通常是原始的行和列数据。pandas 使用自定义的数据结构,主要是 DataFrame 和 Series,它们更适合数据分析和操作。DataFrame 是一个表格数据结构,可以容纳多种数据类型,而 Series 是一维数组,通常用于表示单列数据。

1.3. 数据处理:

xlrd 提供了基本的读取功能,但如果需要进行更复杂的数据操作,需要编写额外的代码。pandas 提供了丰富的数据处理和操作功能,包括数据过滤、转换、聚合、合并、透视等,使得处理和分析数据变得更加简单和高效。

1.4. 性能:

xlrd 通常比 pandas 更快,因为它是专门用于读取 Excel 数据的库,没有额外的数据结构和操作的开销。pandas 在处理大型数据集时可能会稍慢,因为它提供了更多的功能和抽象。

选择适合的库:

如果您只需要读取 Excel 文件的内容,并且对数据进行简单的查看或提取操作,xlrd 可能是一个合适的选择,因为它更轻量级且性能较好。如果您需要进行更复杂的数据处理、分析和转换操作,或者需要将 Excel 数据与其他数据源集成,那么 pandas 是更强大和灵活的工具,它提供了更多的功能来满足您的需求。

通常,根据您的具体需求和项目复杂性,您可以选择使用 xlrd、pandas,或两者结合使用,以便充分利用它们的优势。

2.基于xlrd、pandas包进行讲解

现在对两种包处理数据进行分别说明:

2.1 Xlrd包

xlrd包比较老旧,只能处理后缀为.xls的文件,而pandas包则可以处理更多格式,比较新。

import xlrd book = xlrd.open_workbook('SOWC_2014_Stat_Tables_Table_9.xls') sheet = book.sheet_by_name('Table 9 ') data = {} for i in range(14, sheet.nrows): # 从第14行开始,因为这是国家数据的起点。 ➋ row = sheet.row_values(i) country = row[1] data[country] = { 'child_labor': { 'total': [row[4], row[5]], 'male': [row[6], row[7]], 'female': [row[8], row[9]], }, 'child_marriage': { 'married_by_15': [row[10], row[11]], 'married_by_18': [row[12], row[13]], } } if country == 'Zimbabwe': break #中断程序 import pprint pprint.pprint(data) 2.2 Pandas包 import pandas as pd import pprint # 读取Excel文件 df = pd.read_excel('SOWC_2014_Stat_Tables_Table_9.xls', sheet_name='Table 9 ', skiprows=13) # skiprows=14 data = {} # 创建一个空字典 # print(df) for row in range(200): # 遍历df的每一行 row_data = df.iloc[row] country = row_data[0] # print(country) data[country] = { 'child_labor': { 'total': [row_data[4], row_data[5]], 'male': [row_data[6], row_data[7]], 'female': [row_data[8], row_data[9]], }, 'child_marriage': { 'married_by_15': [row_data[10], row_data[11]], 'married_by_18': [row_data[12], row_data[13]], } } pprint.pprint(data) # # 创建一个空字典


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有