Python 创建循环以处理多个文件

Python 创建循环以处理多个文件,python,Python,我已经写了下面的代码,但目前我需要为每个文件重新键入相同的条件,因为有100多个文件,这并不理想 我想不出一种方法来实现这一点,使用一个循环来读取所有这些文件并过滤MP out中的值。同时,在每个过滤器文件中添加两个新列(如下面编写的代码所示),这将是目前为止我所知道的唯一方法。 我试图获得一个新的组合数据帧,其中包含所有过滤器文件及其条件 请建议使用循环实现此功能的方法: import pandas as pd import matplotlib.pyplot as plt import nu

我已经写了下面的代码,但目前我需要为每个文件重新键入相同的条件,因为有100多个文件,这并不理想

我想不出一种方法来实现这一点,使用一个循环来读取所有这些文件并过滤MP out中的值。同时,在每个过滤器文件中添加两个新列(如下面编写的代码所示),这将是目前为止我所知道的唯一方法。 我试图获得一个新的组合数据帧,其中包含所有过滤器文件及其条件


请建议使用循环实现此功能的方法:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from scipy import signal

df1 = pd.read_csv(r'E:\Unmanned Cars\Unmanned Cars\2017040810_052.csv')
df2 = pd.read_csv(r'E:\Unmanned Cars\Unmanned Cars\2017040901_052.csv')
df3 = pd.read_csv(r'E:\Unmanned Cars\Unmanned Cars\2017040902_052.csv')

df1 =df1["MP"].unique()
df1=pd.DataFrame(df1, columns=['MP'])
df1["Dates"] = "2017-04-08"
df1["Inspection"] = "10"
##
df2 =df2["MP"].unique()
df2=pd.DataFrame(df2, columns=['MP'])
df2["Dates"] = "2017-04-09"
df2["Inspection"] = "01"
##
df3 =df3["MP"].unique()
df3=pd.DataFrame(df3, columns=['MP'])
df3["Dates"] = "2017-04-09"
df3["Inspection"] = "02"
Final = pd.concat([df1,df2,df3,df4],axis = 0, sort = False)

也许这个示例代码会对您有所帮助

#/usr/bin/env蟒蛇3
作为pd进口熊猫
将matplotlib.pyplot作为plt导入
将numpy作为np导入
从scipy输入信号
从操作系统导入路径
导入glob
进口稀土
def进程文件(文件路径):
结果=无
文件路径=文件路径。替换(“\\”,“/”)
filename=path.basename(文件路径)
regex=re.compile(“^(\\d{4})(\\d{2})(\\d{2})(\\d{2})”)
match=regex.match(文件名)
如果匹配:
日期=“%s-%s-%s”%(匹配[1],匹配[2],匹配[3])
检查=匹配[4]
df1=pd.read\u csv(文件路径)
df1=df1[“MP”].unique()
df1=pd.DataFrame(df1,列=['MP'])
df1[“日期”]=日期
df1[“检验”]=检验
结果=df1
返回结果
def main():
#文件列表=[
#r'E:\无人驾驶汽车\无人驾驶汽车\2017040810_052.csv',
#r'E:\无人驾驶汽车\无人驾驶汽车\2017040901_052.csv',
#r'E:\无人驾驶汽车\无人驾驶汽车\2017040902_052.csv'
#    ]
目录='E:\\无人驾驶汽车\\无人驾驶汽车\\'
文件列表=[glob.glob(目录+“*\u 052.csv”)中的f代表f]
结果\u列表=[文件列表中文件名的处理\u文件(文件名)]
Final=pd.concat(结果列表,轴=0,排序=False)
如果名称=“\uuuuu main\uuuuuuuu”:
main()
我为处理每个文件创建了一个process\u file函数。
用于从文件名中提取数据的。此外,glob模块还用于通过模式匹配和扩展从目录中读取文件。

您知道如何编写循环吗?使用循环解决这个问题有什么具体问题?当我运行最终结果的输出时,它说最终结果没有定义。任何帮助都将不胜感激。我基本上修改了你的代码,这样它就可以处理循环和处理所有文件。我已经用一个示例CSV(与您的不同的数据集,最小的适应机会)进行了测试,它对我很有效。您是否安装了使其工作的依赖项?(pandas、matplotlib、numpy、scipy)我安装了所有依赖项,但它仍然不工作。你的电子邮件是什么?我将向您发送文件。它似乎超出了原始问题的范围,因为循环完成了工作。现在,您是如何运行最终的输出的?“请建议使用循环实现此功能的方法”--我为您提供了一个代码示例,以解决使用循环处理这些文件的负担。它对于学习python的基本语法也很有用。最后一个关键字是一个变量,它在您的代码中没有用处,因此在我的代码中没有用处。你如何使用它超出了这个范围。对不起,我帮了大忙。