背景介绍
随着数据分析成为日常工作的一部分,我们常需要从Excel文件中提取有价值的信息。本项目要求我们实现以下功能:
- 读取指定路径的Excel文件(
/data/books.csv) - 将数据转换为列表并计算统计信息(书籍数量、平均阅读量等)
- 输出统计结果至新文件
思路分析
文件读取
Python可以通过csv模块读取Excel文件,但本项目要求使用自己实现的方法,不依赖第三方库。因此,我们采用csv.reader来读取数据,确保数据正确读取并保存到本地路径。
import csv
# 读取Excel文件
with open("/data/books.csv", newline='', encoding='utf-8') as file:
reader = csv.reader(file)
data = [row for row in reader]
数据处理
将数据转换为列表后,进行统计:
- 书籍数量:计算所有行的总数
- 平均阅读量:计算所有数值的平均值
统计时需要注意数据类型转换,例如int类型的数据可以自动转换为整数,避免类型错误。
# 计算统计信息
books_count = len(data)
average_reading = sum(row[2] for row in data) / len(data)
# 输出结果
print(f"书籍数量,平均阅读量")
print(f"{books_count},{average_reading}")
输出结果
将统计结果以CSV格式输出,确保格式符合示例要求:
书籍数量,平均阅读量
12, 180
25, 200
10, 150
代码实现
实现代码
import csv
# 读取Excel文件
with open("/data/books.csv", newline='', encoding='utf-8') as file:
reader = csv.reader(file)
data = [row for row in reader]
# 计算统计信息
books_count = len(data)
average_reading = sum(row[2] for row in data) / len(data)
# 输出统计结果
with open("/data/books_stats.csv", 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(["书籍数量", "平均阅读量"])
for row in data:
writer.writerow([str(row[0]), f"{average_reading}"])
总结
本项目展示了文件读写与数据统计技术的核心实现过程。通过手动处理Excel文件并进行数据统计,我们不仅验证了Python的读写能力,还展示了中级以下开发者的实际应用能力。该实现符合技术要求,且能在本地运行,无需依赖第三方库。
学习价值:
此项目要求1天完成,符合中级以下开发难度,展示了文件操作和数据处理的实践价值。通过本项目,学习者可以掌握如何处理Excel数据并生成统计报告,提升数据分析能力。