当前位置:首页>python>python自动化系列:Excel表格大变身,轻松将销售数据从一维表转为二维表

python自动化系列:Excel表格大变身,轻松将销售数据从一维表转为二维表

  • 2026-10-11 07:29:27
python自动化系列:Excel表格大变身,轻松将销售数据从一维表转为二维表
作品介绍
作品名称:Excel表格大变身,轻松将销售数据从一维表转为二维表
用到的库:pandas、logging
作品简介:该实例主要用于将Excel文件中的一维销售数据表转换为二维表,并确保日期格式保持不变。
(一维表)
(二维表)

实现过程

一、模块导入与日志配置

import pandas as pdimport logginglogging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
      二、主函数main
      用于处理销售数据的Excel文件。它使用了pandas库来读取、转换和保存数据,并利用xlsxwriter引擎来格式化输出文件。
      def main():    input_path = '销售数据.xlsx'    output_path = '销售数据_转换后.xlsx'    try:        # 读取Excel文件,并指定日期列的格式        df = pd.read_excel(input_path, header=0)        # 查看是否存在缺失值,并选择处理方式(这里简单地删除含有缺失值的行)        if df.isnull().values.any():            logging.warning("检测到缺失值,将删除含有缺失值的行")            df.dropna(inplace=True)        # 确保日期列是字符串类型,以保持原始格式        df['日期'] = df['日期'].dt.strftime('%Y/%m/%d') if pd.api.types.is_datetime64_any_dtype(df['日期']) else df['日期']        # 使用pivot_table函数将多列数据转换为二维表        df_pivot = pd.pivot_table(df, values='数量', index='产品名称', columns='日期', aggfunc=sum)        # 将MultiIndex列名转换回字符串形式        df_pivot.columns = df_pivot.columns.map(lambda x: str(x).split()[0] if isinstance(x, pd.Timestamp) else x)        # 查看转换后的二维表        print(df_pivot)        # 保存转换后的数据到本地文件,并指定日期格式        writer = pd.ExcelWriter(output_path, engine='xlsxwriter')        df_pivot.to_excel(writer, sheet_name='Sheet1')        workbook = writer.book        worksheet = writer.sheets['Sheet1']        # 设置日期格式        date_format = workbook.add_format({'num_format': 'yyyy/mm/dd'})        # 应用日期格式到相关列        for idx, col in enumerate(df_pivot.columns):            if isinstance(col, pd.Timestamp):                worksheet.set_column(idx + 1, idx + 1, 18, date_format)        writer.close()        logging.info(f"成功保存转换后的数据到 {output_path}")    except Exception as e:        logging.error(f"发生错误: {e}")
                                  三、入口点检查与主函数调用
                                  if __name__ == '__main__':    main()
                                  四、结语

                                  以上就是本次分享的全部内容,如果你有任何疑问或想要分享的经验,评论区永远为你敞开。你的每一个点赞和转发,都是对我们最大的支持和鼓励!

                                  再次感谢你的阅读,期待在下一次分享中与你相见!

                                  精选阅读

                                  python自动化系列:重新排列pdf页面的顺序

                                  python自动化系列:裁剪pdf特定页面特定区域

                                  python自动化系列:将Excel表格中的学生信息自动填充到一个word文档

                                  python自动化系列:轻松合并PDF文件特定页面

                                  python自动化系列:将Excel表格中的学生多条信息自动填充到一个Word文档

                                  python自动化系列:如何轻松为PDF文件添加统一水印

                                  python自动化系列:批量图片水印添加工具

                                  python自动化系列:一键提取PPT文字到Word

                                  python自动化系列:Python脚本实现GIF动画的快速生成

                                  python自动化系列:轻松获取豆瓣Top 250电影数据

                                  python自动化系列:自动删除重复图片并保留最新版本

                                  python自动化系列:一键将Excel多页数据批量转换为Word文档

                                  python自动化系列:如何使用Python为PDF文件添加密码保护

                                  python自动化系列:自动屏幕截图工具

                                  python自动化系列:实现一个简单的网络监控工具

                                  python自动化系列:自动抓取网站文章的工具(有知有行-E大)

                                  python自动化系列:一键批量导出Excel工作表为图片,简化报告制作流程

                                  python自动化系列:基于Excel数据自动生成员工工资调整通知

                                  python自动化系列:轻松找出两份word文档的细微差别

                                  python自动化系列:使用OpenCV精准替换浅蓝色背景为白色——保持前景物体不变的技巧

                                  python自动化系列:如何使用Python轻松调整视频分辨率至720p

                                  python自动化系列:使用 Pandas 将制表符分隔的文本文件转换为 Excel 文件

                                  python自动化系列:如何批量筛选Excel文件中的“销售数量”数据

                                  最新文章

                                  随机文章