Deutsch   English   Français   Italiano  
<-0ZyBxt0rp0yP7ypjMXF40KjGVM@jntp>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!aioe.org!pasdenom.info!from-devjntp
Message-ID: <-0ZyBxt0rp0yP7ypjMXF40KjGVM@jntp>
JNTP-Route: news2.nemoweb.net
JNTP-DataType: Article
Subject: Re: Projet Python : importation d'un dossier csv sous forme de matrice
References: <l96dnV9hCoG-A2_8nZ2dnUU7_83NnZ2d@giganews.com> <RcKEJLdN5x5RBgTFd7n1A2JOUk0@jntp>
Newsgroups: fr.comp.lang.python
JNTP-HashClient: Wr2Uy7d6JbWe_t65tzEyizUHI44
JNTP-ThreadID: l96dnV9hCoG-A2_8nZ2dnUU7_83NnZ2d@giganews.com
JNTP-ReferenceUserID: 21@news2.nemoweb.net
JNTP-Uri: http://news2.nemoweb.net/?DataID=-0ZyBxt0rp0yP7ypjMXF40KjGVM@jntp
User-Agent: Nemo/0.999a
JNTP-OriginServer: news2.nemoweb.net
Date: Thu, 27 Jan 22 21:41:36 +0000
Organization: Nemoweb
JNTP-Browser: Mozilla/5.0 (X11; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0
Injection-Info: news2.nemoweb.net; posting-host="7caad0357d5ed9131e9536f140c760d515f0a827"; logging-data="2022-01-27T21:41:36Z/6551166"; posting-account="21@news2.nemoweb.net"; mail-complaints-to="newsmaster@news2.nemoweb.net"
JNTP-ProtocolVersion: 0.21.1
JNTP-Server: PhpNemoServer/0.94.5
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-JNTP-JsonNewsGateway: 0.96
From: K. <secwin88@yahoo.co.jp>
Bytes: 3569
Lines: 55

Le 27/01/2022 à 22:30, K. a écrit :
> Le 27/01/2022 à 14:29, Mand1n3 a écrit :
>> Bonjour,
>> Je suis actuellement en classe préparatoire et, en vu du passage du concours
>> d'entrée aux Grandes Écoles, je dois réaliser un projet d'informatique.
>> J'ai choisi de travailler sur le cryptage selon la méthode de Playfair et je
>> m'attaque désormais au décryptage. Pour cela je compte raisonner par analyse 
>> de
>> fréquence de digrammes.
>> Je comptais donc créer une matrice 25x25 des fréquences de digrammes dans la
>> langue française mais impossible de parvenir à importer le fichier et à le
>> modifier pour le mettre sous cette forme. Le fichier est sous format CSV et sous
>> la forme suivante:
>> 
>> - au sein d'une ligne, les nombres sont séparés par des espaces
>> -les colonnes sont quant à elles séparés par des point-virgules
>> 
>> Le but était par la suite de créer une seconde matrice dans laquelle se
>> trouverait les comptages des digrammes dans un texte (déjà encodé) et 
>> d'ensuite
>> diviser chacun des termes par le nombre total de digrammes dans ce même texte.
>> J'aurais ensuite comparé les fréquences des deux matrices pour essayer de
>> déchiffrer les lettres codées en analysant quelles fréquences sont plus
>> semblables.
>> 
>> Merci beaucoup pour votre réponse.
> 
> import csv
> 
> with open('testfile.csv', newline='') as csvfile:
>     data = list(csv.reader(csvfile))
> 
> print(data)
> 
> D'après https://stackoverflow.com/a/46614787 . 
> 
> Il doit être possible de changer les délimitateurs, par exemple en le 
> précisant dans l'instruction de lecture du data.
> 
> data = list(csv.reader(csvfile, delimiter='\t'))
> 
> Ici c'est une tabulation ('\t') mais ça doit marcher avec ';'.

Précision, s'il faut ensuite le résultat sous forme de tableau 
(matrice), NumPy doit pouvoir le faire :

import numpy as np
arr = np.array(data)

Et ensuite un reshape pour mettre au format voulu.

Ou la solution avec pandas comme indiqué dans le fil Stack Overflow qui 
transpose directement le csv en tableau NumPy :

import pandas as pd
data = pd.read_csv(FILE).values