recherche et écriture dans un fichier csv avec matlab
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

recherche et écriture dans un fichier csv avec matlab



  1. #1
    inalex

    recherche et écriture dans un fichier csv avec matlab


    ------

    bonjour,
    je cherche actuellement à lire sous Matlab un fichier csv contenant un nombre important de lignes débutant toutes par un titre, pour rechercher un titre en particulier, et réécrire la ligne contenant le titre cherché.
    Comme le fichier ne contient pas que des chiffres, je n'arrive pas à utiliser csvread.
    Ensuite, j'ai bien vu qu'une fonction seek existait, mais je vois pas trop comment l'utiliser dans ce cas là.

    Auriez vous des idées?

    Merci d'avance,
    AS

    -----

  2. #2
    Antoane
    Responsable technique

    Re : recherche et écriture dans un fichier csv avec matlab

    Bonjour et Bienvenue,

    Peux-tu poster les premières lignes de ton fichier texte ?

    Un morceau de code faisant un peu ce que tu veux :
    - on ouvre le fichier nommé 'filenameFull' (avec l'extension, par exemple 'chien.txt') ;
    - on lit l'intégralité de ce fichier et on le met dans textscan ;
    - on parcours le fichier ligne après ligne, en cherchant dans chaque ligne la chaine de caractères : designHeader. Lorsqu'elle est trouvée, on sort de la boucle for : la ligne recherché est la i^ème.

    Code:
    fId=fopen(filenameFull); % open file
    TempVar = textscan(fId, '%s', 'delimiter', '\n', 'whitespace', ''); % keep indentation
    mxwlFile=TempVar{1,1}; % do stuff to the file (convert from cell to array)
    fclose(fId); % close file
    
    
    %% **** amend file ****
    flagModified=ones(1, length(VarValue)); % initialise it
    
    % *** find begnniing of design section ***
    designHeader='Toto';
    for i=1:size(mxwlFile, 1) % for each line
        curentLineTrimed=strtrim(mxwlFile{i}); % line under study
        if sum(strcmpi(curentLineTrimed, designHeader)); % if the current line indçicates the beginning of the design of interest % sum is used for the default value of designHeader
            break;
        end
    end
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

Discussions similaires

  1. écriture dans un fichier
    Par Zero Cold dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 24/01/2016, 21h44
  2. Ecrire des donnees dans un fichier .txt avec MATLAB
    Par invitecd42c963 dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 24/10/2011, 16h03
  3. Matlab/Octave: Problème d'écriture de fichier
    Par sebateau22 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 13/02/2011, 14h47
  4. Matlab Lecture de n fichier .txt et ecriture dans un fichier .xls
    Par invite24513ab6 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 26/07/2010, 09h12
  5. Ecrire des donnees dans un fichier .txt avec MATLAB
    Par invitef8c30587 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 11/02/2010, 13h16