赞
踩
用了一天的时间进行学习了利用python进行导入excel文件以及处理数据。由于自己是第一次学习,因此特地将所学知识进行总结与分享。
据我所知,目前常用处理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
在处理大型数据集时可能会稍慢,因为它提供了更多的功能和抽象。选择适合的库:
xlrd
可能是一个合适的选择,因为它更轻量级且性能较好。pandas
是更强大和灵活的工具,它提供了更多的功能来满足您的需求。通常,根据您的具体需求和项目复杂性,您可以选择使用 xlrd
、pandas
,或两者结合使用,以便充分利用它们的优势。
现在对两种包处理数据进行分别说明:
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)
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 © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。