{"id":2276,"date":"2023-08-22T22:52:39","date_gmt":"2023-08-22T14:52:39","guid":{"rendered":"http:\/\/viplao.com\/?p=2276"},"modified":"2023-08-22T22:52:41","modified_gmt":"2023-08-22T14:52:41","slug":"python-%e6%97%a5%e5%b8%b8%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90-excel%e5%ae%9e%e6%88%98-%e4%b8%80%e4%b8%aa%e5%b7%a5%e4%bd%9c%e8%a1%a8%e5%90%88%e5%b9%b6%e4%b8%ba%e5%a4%9a%e4%b8%aa","status":"publish","type":"post","link":"http:\/\/viplao.com\/index.php\/2023\/08\/22\/python-%e6%97%a5%e5%b8%b8%e6%95%b0%e6%8d%ae%e5%88%86%e6%9e%90-excel%e5%ae%9e%e6%88%98-%e4%b8%80%e4%b8%aa%e5%b7%a5%e4%bd%9c%e8%a1%a8%e5%90%88%e5%b9%b6%e4%b8%ba%e5%a4%9a%e4%b8%aa\/","title":{"rendered":"Python \u65e5\u5e38\u6570\u636e\u5206\u6790 \u2013 EXCEL\u5b9e\u6218- \u4e00\u4e2a\u5de5\u4f5c\u8868\u5408\u5e76\u4e3a\u591a\u4e2a"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>from pathlib import Path\r\nimport xlwings as xw\r\nsrc_file = Path('\u6587\u4ef6.xlsx')\r\ndes_folder = Path('\u76ee\u5f55')\r\nif not des_folder.exists():\r\n    des_folder.mkdir(parents=True)\r\napp = xw.App(visible=False, add_book=False)\r\nworkbook = app.books.open(src_file)\r\nworksheet = workbook.sheets&#91;'\u7edf\u8ba1\u8868']\r\nheader = worksheet&#91;'A1:H1'].value\r\ndata1 = worksheet.range('A2').expand('table').value\r\ndata2 = dict()\r\nfor i in range(len(data1)):\r\n    product_name = data1&#91;i]&#91;1]\r\n    if product_name not in data2:\r\n        data2&#91;product_name] = &#91;]\r\n    data2&#91;product_name].append(data1&#91;i])\r\nfor k, v in data2.items():\r\n    new_workbook = xw.books.add()\r\n    new_worksheet = new_workbook.sheets.add(k)\r\n    new_worksheet&#91;'A1'].value = header\r\n    new_worksheet&#91;'A2'].value = v\r\n    new_worksheet.autofit()\r\n    new_workbook.save(des_folder \/ f'{k}.xlsx')\r\n    new_workbook.close()\r\napp.quit()<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[28],"views":640,"_links":{"self":[{"href":"http:\/\/viplao.com\/index.php\/wp-json\/wp\/v2\/posts\/2276"}],"collection":[{"href":"http:\/\/viplao.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/viplao.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/viplao.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/viplao.com\/index.php\/wp-json\/wp\/v2\/comments?post=2276"}],"version-history":[{"count":1,"href":"http:\/\/viplao.com\/index.php\/wp-json\/wp\/v2\/posts\/2276\/revisions"}],"predecessor-version":[{"id":2277,"href":"http:\/\/viplao.com\/index.php\/wp-json\/wp\/v2\/posts\/2276\/revisions\/2277"}],"wp:attachment":[{"href":"http:\/\/viplao.com\/index.php\/wp-json\/wp\/v2\/media?parent=2276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/viplao.com\/index.php\/wp-json\/wp\/v2\/categories?post=2276"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/viplao.com\/index.php\/wp-json\/wp\/v2\/tags?post=2276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}