为了解放自己从这种重复性的工作,我在互联网上搜索Excel办公自动化,熟悉Python,从此踏上不归之路自动化办公室(没有人愿意回头☺)。以下是Python的一个工件,在几分钟内完成数据汇总和准确。然后刷新数据在Excel中,预设PivotChart可以自动更新到最新,然后粘贴到PPT发送报告。代码的开始\u2026\u2026进口操作系统#获取文件路径进口xlrd #阅读整个行数据在Excel从openpyxl进口load_workbook # file_path =\u201C数据\u201D#文件写数据文件所在文件夹# 1。得到所有路径下的文件并将其保存在列表中路径=[]#存储文件夹中的所有文件的路径(包括子目录中的文件)的根,dirs (file_path):文件路径=[(根、名称)文件的名称](路径)# 2。
读取数据在每一个Excel数据并将其保存在列表中=[]我files_for_merge: _workbook (i) #根据相应的阅读工作簿path_by_index(0) #为j范围内选择工作表():(_values (j)) #阅读整个行数据并将其保存在列表中# 4。总结了主要数据到Excel文件wb_main = load_workbook (file_path +\u201C\/ FM减少活动\u201D)#打开文件需要编写ws_main = wb_main[的原始结果]#选择需要编写的工作表的行范围(3,len(数据)+ 3):坳的范围(18):ws_(行=行、列=坳值=数据(第3行)[col-1]) # wb_写入数据(file_path +\u201C\/ FM减少活动\u201D)#保存数据打印(\u201C程序执行完成!
如果你有一个人造的轮子,你不必扔。事实上,学习一门编程语言的最重要的作用是能够使用它并解决问题。至于这些库的内部结构,不需要深入了解它,就像你不需要了解其内部结构和使用智能手机时每一个技术细节。如果是这样的话,估计很难彻底掌握它在你的生活。因为我们5个子文件放置在5个不同的文件夹,我们需要使用操作系统库得到这些文件的路径,这样我们可以读取数据。xlrd图书馆有一个函数来读取Excel的整个行,这是非常方便的使用。尽管openpyxl还可以读取数据,需要遍历每一个细胞。相对来说,它不像xlrd方便阅读整个行。获取文件路径之前,我们需要告诉我们应该得到的数据项目文件夹。我们商店的\u201C数据\u201D下的文件路径,所以file_path =\u201C数据\u201D。
自从程序将默认为当前工作路径,它会自动找出是否有\u201C数据\u201D文件夹在当前路径,所以file_path =\u201C数据\u201D和file_path = \为简便起见,就直接file_path =\u201C数据\u201D。在[16]:()[16]:\u201CC: \\ \\ \\ \\用户dywei python \\ \\ python_excel \\ \\ \\ \\ _excels '然后我们希望能获得红杉中Excel文件在所有\u201C数据\u201D文件夹下的子文件夹的名称和路径可以用来遍历所有子目录和子文件目录。它首先遍历当前目录并返回三个值,它们的路径目录,该目录下的子目录的名称,和文件的名称。
如果有子目录,继续遍历,直到所有的目录都遍历。因此,三个变量的根,dirs,文件需要得到它的返回值。因为路径本身是一个列表,每次需要收集的文件总结成一个列表,我们使用扩展来完成。扩展的功能可以通过下面的例子来理解。a = b [1, 2] = [3,4] (b)是[17]:pathOut[17]:[数据\\ \\ dept_E \\ \\调频减少活动形象\u2014\u2014\u201C,\u201C数据\\ \\ dept_E \\ \\调频减少活动Tracker-sub\u201D] [18]: pathssOut [18]:(\u201C数据\\ \\调频减少活动\u201D,\u201C数据\\ \\ dept_A \\ \\调频减少活动形象\u2014\u2014\u201C,\u201D数据\\ \\ dept_A \\ \\调频Tracker-sub减少活动\u201D,\u201C数据\\ \\ dept_B \\ \\调频减少活动形象\u2014\u2014\u201C,\u201D数据\\ \\ dept_B \\ \\调频Tracker-sub减少活动\u201D,\u201C数据\\ \\ dept_C \\ \\调频减少活动形象\u2014\u2014\u201C,\u201D数据\\ \\ dept_C \\ \\调频Tracker-sub减少活动\u201D,\u201C数据\\ \\ dept_D \\ \\调频减少活动形象\u2014\u2014\u201C,\u201D数据\\ \\ dept_D \\ \\调频Tracker-sub减少活动\u201D,\u201C数据\\ \\ dept_E \\ \\调频减少活动形象\u2014\u2014\u201C,\u201C数据\\ \\ dept_E \\ \\调频减少活动Tracker-sub\u201D)路径列表包含所有的Excel文件\u201C数据\u201D文件夹,但是我们只需要读取数据文件命名为\u201C调频Tracker-sub减少活动\u201D,所以我们需要过滤一次。
files_for_merge的结果列表如下,这正是我们需要的文件。[19]:files_for_mergeOut[19]:[数据\\ \\ dept_A \\ \\调频Tracker-sub减少活动\u201D,\u201C数据\\ \\ dept_B \\ \\调频减少活动Tracker-sub\u201D、\u201C数据\\ \\ dept_C \\ \\调频减少活动Tracker-sub\u201D、\u201C数据\\ \\ dept_D \\ \\调频减少活动Tracker-sub\u201D、\u201C数据\\ \\ dept_E \\ \\调频减少活动Tracker-sub\u201D)文件被锁定后,我们可以开始读取数据。
然后通过文件名称和路径_workbook()一个接一个地开放和获得第一个工作表_by_index(0),然后使用_values()函数来逐行读取数据。因为工作表中的数据从第11行,这里的范围()从10开始(因为行始于0,0代表真正的第一行,这里10代表第11行)。我们可以看到,_values(9)工作表中的第十行,标题行。我不禁提到Jupyter笔记本的好处都在这里。如果你有任何问题,你可以立即运行检查。pycharm等使用一个集成开发环境(IED)或编写一个程序来py文件执行远从这样一个方便的函数。可以自动获得最大的excel表中的行。_values(9)(\u201C区域\u201D,\u201C工具名称\u201D,\u201C屈服段\u201D,\u201C缺陷\u201D,\u201C没有。
通过len(数据),你可以看到有多少数据。这里有4532件,5个工作表中的数据的总和。我们还可以看到第一个数据在数据是什么样子的,可以通过数据[0]。请注意,列表的索引从0开始,和数据[0]是指第一个数据在数据列表中。len(4532年数据)的数据[0][\u2018dept_A\u2019,\u2018QPF101\u2019,\u2018电性能测试\u2019,\u201C调频\u201D,一些粒子存在于洞的入口\u201D,\u201C黄PH值\\ nEda陆\\ nWang歌\u201D,,\u201C低\u201D,\u201C亚历克斯·王\u201D,\u201C已经打扫灰尘。\u201D、\u201C近\u201D、\u201C中等\u201D、\u201C间接接触\u201D、\u201C不重复\u201DGitHub链接:_Automation_by_Using_Python