我有很多excel文件(xlsx格式),希望阅读和处理它们
例如,文件名为ex201901、ex201902等。。。。201912.
其名称采用EXYYMM格式
无论如何,要像平常一样在熊猫中导入这些文件,很容易
import pandas as pd
df201901 = pd.read_excel(r'C:\\users\ex201901.xlsx)
df201902 = pd.read_excel(r'C:\\users\ex201902.xlsx)
df201903 = pd.read_excel(r'C:\\users\ex201903.xlsx)
df201904 = pd.read_excel(r'C:\\users\ex201904.xlsx)
....
df201912 = pd.read_excel(r'C:\\users\ex201912.xlsx)
然而,这似乎是一个无聊而乏味的故事
在SAS程序中,我使用宏()语法。但在python中,我不知道如何处理
您能帮助我如何以简单的方式处理多个重复的作业吗,例如SAS MACRO()
谢谢你的阅读
您可以使用python中的OS模块。它有一个方法listdir,它将所有文件名存储在文件夹中。检查以下代码:
考虑到您可能希望在之后以某种方式同时处理所有数据帧,如果您甚至将它们放入单独的局部变量中,那么这就是一种气味。通常,每当您遇到“这项任务感觉重复,因为我一遍又一遍地做同一件事”,这就需要引入某种循环。当您计划使用pandas时,您很可能很快就会再次进行迭代(现在您有了文件,您可能会对这些文件的行执行一些转换),在这种情况下,您最好了解一下控制流a la循环在Python中(实际上在pandas中)是如何工作的;好的教程很多
在您的特定情况下,根据您计划在之后进行的处理类型,您可能会从以下内容中受益
这样,您就可以通过
df2019[5]
访问各个数据帧,以获得对应于六月的数据帧,或者您也可以使用df = pd.concat(df2019)
将所有数据帧折叠成一个数据帧,如果这符合您的需要的话如果文件名中的结构较少,
glob
可以派上用场。有了这一点,上述情况可能会变成类似的情况相关问题 更多 >
编程相关推荐