Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Python打印从循环导出到不同的文本文件?_Python_Python 3.x_Export_Spyder - Fatal编程技术网

如何将Python打印从循环导出到不同的文本文件?

如何将Python打印从循环导出到不同的文本文件?,python,python-3.x,export,spyder,Python,Python 3.x,Export,Spyder,我试着用一个傅里叶滤波器来过滤我的实验测量值,这是可行的。现在,我在一个文件夹中获得了多个原始数据文件(.txt),我想对其进行筛选,然后将其放在另一个文件夹中 结构如下: 筛选脚本:C:\Users\myname\Desktop\folder1\Scripts 原始数据文件夹:C:\Users\myname\Desktop\folder1\Scripts\Raw\u data 筛选数据文件夹:C:\Users\myname\Desktop\folder1\Scripts\Filtered\u数

我试着用一个傅里叶滤波器来过滤我的实验测量值,这是可行的。现在,我在一个文件夹中获得了多个原始数据文件(.txt),我想对其进行筛选,然后将其放在另一个文件夹中

结构如下:

筛选脚本:C:\Users\myname\Desktop\folder1\Scripts

原始数据文件夹:C:\Users\myname\Desktop\folder1\Scripts\Raw\u data

筛选数据文件夹:C:\Users\myname\Desktop\folder1\Scripts\Filtered\u数据

我的代码是:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from scipy.fftpack import rfft, irfft, fftfreq

data = pd.read_csv(r'C:\Users\myname\Desktop\folder1\Scripts\Raw_data\rawtest_datafile1.txt')

time   = np.linspace(0, 4017, 4018)
signal = data.TG

print(Filter(time, signal, 0.004,  0.0075, False, 0.04)/10)
结果显示为一维数组

现在,我想知道如何导入所有文件rawtest_datafile[I].txt,过滤它们,并使用循环逐个创建一个名为filteredtest_datafile[I].txt的新文件


我希望这足够清楚。

您可以在Python的
os
模块中使用
os.listdir()
来获取目录的内容。接下来,使用同一模块中的
isfile
检查其是否为文件。如果是文件,则执行筛选操作,并将文件写入目标

import os

for content in os.listdir(source_path):
    if os.path.isfile(os.path.join(source_path, content)):
        # read file and perform filter operation
        new_file = "filtered" + content
        # write data to os.path.join(dest_path, new_file)

希望这有帮助。

您可以使用Python的
os
模块中的
os.listdir()
来获取目录的内容。接下来,使用同一模块中的
isfile
检查其是否为文件。如果是文件,则执行筛选操作,并将文件写入目标

import os

for content in os.listdir(source_path):
    if os.path.isfile(os.path.join(source_path, content)):
        # read file and perform filter operation
        new_file = "filtered" + content
        # write data to os.path.join(dest_path, new_file)

希望这有帮助。

使用以下示例代码,并根据需要进行修改

data_file_format="C:\Users\myname\Desktop\\folder1\Scripts\Raw_data\\rawtest_datafile{}.txt";

output_file_format="C:\Users\Ruben\Desktop\BEP\Scripts\Filtered_data\output_file{}.txt";

for i in range(1,10):
    datafile=data_file_format.format(i);
    outputfile=output_file_format.format(i);
    data = pd.read_csv(datafile);
    time   = time = np.linspace(0, 4017, 4018)
    signal = data.TG
    print_to_file(Filter(time, signal, 0.004,  0.0075, False, 0.04)/10,outputfile);
注: 1.打印到文件是一个需要定义的函数。它应该有两个输入,需要打印的数据和文件路径

  • 您需要知道运行for循环的数据文件的数量。否则,您应该使用操作系统模块

  • 使用以下示例代码,并根据需要进行修改

    data_file_format="C:\Users\myname\Desktop\\folder1\Scripts\Raw_data\\rawtest_datafile{}.txt";
    
    output_file_format="C:\Users\Ruben\Desktop\BEP\Scripts\Filtered_data\output_file{}.txt";
    
    for i in range(1,10):
        datafile=data_file_format.format(i);
        outputfile=output_file_format.format(i);
        data = pd.read_csv(datafile);
        time   = time = np.linspace(0, 4017, 4018)
        signal = data.TG
        print_to_file(Filter(time, signal, 0.004,  0.0075, False, 0.04)/10,outputfile);
    
    注: 1.打印到文件是一个需要定义的函数。它应该有两个输入,需要打印的数据和文件路径

  • 您需要知道运行for循环的数据文件的数量。否则,您应该使用操作系统模块
  • 可能的重复可能的重复