在Python中同一目录中的多个文件进行循环

莎拉

因此,我已经尝试在这里检查(几乎)同一主题的其他问题,但是没有找到解决我问题的方法。

基本上,我在Python中有一段代码试图将文件作为数据框打开并执行一些眼睛跟踪功能(PyGaze)。我有1000个文件需要分析,并且想要创建一个for循环以自动对所有文件执行代码。

代码如下:

os.chdir("/Users/Documents//Analyse/Eye movements/Python - Eye Analyse")

directory = '/Users/Documents/Analyse/Eye movements/R - Filtering Data/Filtered_data/Filtered_data_test'

for files in glob.glob(os.path.join(directory,"*.csv")):
    #Downloas csv, plot 
    df = pd.read_csv(files, parse_dates = True)
    #Plot raw data
    plt.plot(df['eye_x'],df['eye_y'], 'ro', c="red")
    plt.ylim([0,1080])
    plt.xlim([0,1920])
    #Fixation analysis 
    from detectors import fixation_detection 
    fixations_data = fixation_detection(df['eye_x'],df['eye_y'], df['time'],maxdist=25, mindur=100)
    Efix_data = fixations_data[1]
    numb_fixations = len(Efix_data) #number of fixations
    fixation_start = [i[0] for i in Efix_data] 
    fixation_stop = [i[1] for i in Efix_data] 
    fixation = {'start' : fixation_start, 'stop': fixation_stop}   
    fixation_frame = pd.DataFrame(data=fixation)
    fixation_frame['difference'] = fixation_frame['stop'] - fixation_frame['start']
    mean_fixation_time = fixation_frame['difference'].mean() #mean fixation time 
    final = {'number_fixations' : [numb_fixations], 'mean_fixation_time': [mean_fixation_time]} 
    final_frame = pd.DataFrame(data=final)
    #write everything in one document
    final_frame.to_csv("/Users/Documents/Analyse/Eye movements/final_data.csv")

该代码正在运行(没有错误),但是:它仅对第一个文件运行。没有为文件夹/目录中存在的其他文件运行该代码。我看不出我的错误在哪里?

维达克

您的输出文件名是常量,因此每次for循环迭代都会覆盖它。请尝试以下操作,而不是最后一行,它以“附加”模式打开文件:

#write everything in one document
with open("/Users/Documents/Analyse/Eye movements/final_data.csv", "a") as f:
    final_frame.to_csv(f, header=False)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在python中从同一目录修改多个.csv文件

根据内容对同一目录中的文件进行分组

在同一目录中制作单个文件的多个副本

如何从python中的同一目录导入文件?

将文件复制到同一目录中的多个子目录

如何将多个目录下的文件移动到同一目录中?

查找在同一目录中同时存在该文件名的多个变体的文件

Shell脚本修改具有同一目录中多个文件的文件名的变量

如何在同一目录中的多个文件上运行此Python 2.7脚本

读取与JavaScript文件位于同一目录中的文件

使用package.json脚本在同一目录中复制多个文件?

Linux Bash:将多个不同的文件移动到同一目录中

使用Gulp在同一目录中的多个文件扩展名

在同一目录中创建文件的副本

GO:无法从同一目录中的文件导入函数

VS Code 无法识别同一目录中的文件

无法从同一目录中的文件导入函数

如何让我的scrapy读取同一目录中的文件?

CGo不在同一目录中编译C文件

将相应文件排序到同一目录中

从VSCode中的同一目录导入文件

如何在同一目录中复制文件

重命名同一目录中的文件-Shell脚本

如何读取同一目录中的所有文件?

尝试读取与 python 文件位于同一目录中的文件但收到 FileNotFoundError

Python:在同一目录中调用模块

与主应用程序在同一目录中打开(读取,写入)文件-python / kivy

将图像保存到同一目录的Python文件夹中

同一目录下几个连续文本文件中的列删除,python