Python实战项目:从Excel中提取数据并存入新Sheet

版权申诉
0 下载量 53 浏览量 更新于2024-10-05 收藏 2.75MB ZIP 举报
资源摘要信息:"Python实战-Python从原Excel表中抽出数据存入同一文件的新的Sheet.zip" 这份资源提供了深入学习和实践Python编程技能的案例,特别关注于处理Excel表格数据。通过一系列精心设计的实战案例,可以帮助开发者学习和掌握如何使用Python来完成从读取原始Excel表格数据到将数据抽取并存储到同一个Excel文件中的新工作表(Sheet)的操作。 在这个过程中,你将会学到以下几个关键知识点: 1. Python基础:掌握Python语言的基本语法和结构,包括变量、数据类型、控制结构和函数等,这是进行任何Python项目的基础。 2. 文件操作:了解如何使用Python进行文件的读取、写入和编辑,这在处理Excel文件时至关重要。这包括了解如何打开文件、读取文件内容、修改内容和保存文件。 3. Excel数据处理:熟悉Python的第三方库,例如xlrd和xlwt,用于读取和写入Excel文件。这些库提供了丰富的接口来操作Excel表格,如获取单个或多个单元格的数据,以及向工作表中添加新的数据和格式化样式。 4. 工作表操作:学会如何创建、重命名、复制和删除工作表等操作,这对于组织Excel文件中的数据和结构非常有用。 5. 数据抽取:掌握如何从一个工作表中提取特定的数据。这可能包括基于条件的数据筛选、使用循环和条件语句来遍历工作表中的行和列,以及如何将这些数据重新组织并存储。 6. 数据存储:了解如何将抽取的数据保存到新的工作表中,这要求你掌握如何使用Python将数据插入到工作表的特定位置,以及可能涉及的任何格式化或样式设置。 7. 问题解决能力:在实际操作过程中,培养通过分析问题、设计解决方案和实施解决步骤的编程思维。这需要对上述技能的综合运用,以及在遇到问题时进行调试和优化代码的能力。 8. 项目实战经验:通过完成这些案例,你将获得宝贵的实战经验,这不仅能够加深你对知识点的理解,还能提高解决复杂问题的能力,让你在实际工作中更加得心应手。 总而言之,这份资源是那些希望通过实践提升Python编程技能,并且能够将所学知识应用于真实世界问题解决中的开发者的一个宝贵学习材料。通过逐步跟随这些实战案例的步骤,你可以逐步积累经验,逐渐提升自己的编程能力,最终能够自信地面对各种编程挑战,让代码成为实现梦想的强大工具。

# 导入pandas库 import pandas as pd # 读取excel文件的两个sheet sheet1 = pd.read_excel("对照组.xlsx", sheet_name="idle_transition_probability") sheet2 = pd.read_excel("对照组.xlsx", sheet_name="hexagon_grid_table") # 把sheet转换成字典列表 sheet1 = sheet1.to_dict(orient="records") sheet2 = sheet2.to_dict(orient="records") # 创建一个空的字典,用来存储区域id和坐标的对应关系 area_dict = {} # 选择sheet1的第2列和第3列 sheet1 = sheet1.iloc[:, [1, 2]] # 把sheet1的第2列和第3列的数据转换成列表 start_area_list = sheet1.iloc[:, 0].tolist() end_area_list = sheet1.iloc[:, 1].tolist() # 用zip函数把两个列表组合成一个迭代器 area_pairs = zip(start_area_list, end_area_list) # 用for循环遍历每一对上下车地点所在区域的id for start_area, end_area in area_pairs: # 根据id从字典中获取对应的坐标 start_coord = area_dict[start_area] end_coord = area_dict[end_area] # 遍历sheet2,把区域id作为键,坐标作为值,存入字典中 for row in sheet2: area_id = row["格子ID"] longitude = row["中心经度"] latitude = row["中心维度"] area_dict[area_id] = (longitude, latitude) # 创建一个空的列表,用来存储每个时间段的曼哈顿距离 distance_list = [] # 计算两个坐标之间的x轴距离和y轴距离 x_distance = abs(end_coord[0] - start_coord[0]) y_distance = abs(end_coord[1] - start_coord[1]) # 计算两个坐标之间的曼哈顿距离,并添加到列表中 manhattan_distance = x_distance + y_distance distance_list.append(manhattan_distance) # 创建一个空的DataFrame df = pd.DataFrame() # 把列表添加到DataFrame中,指定列名 df["曼哈顿距离"] = distance_list # 把DataFrame保存到Excel文件中,指定文件名和sheet名 df.to_excel("result.xlsx", sheet_name="result")请你帮我修改一下

2023-05-25 上传