J'ai actuellement un fichier CSV qui, lorsqu'il est ouvert dans Excel, a un total de 5 colonnes. Seules les colonnes A et C sont significatives pour moi et les données dans les autres colonnes ne sont pas pertinentes.Analyse du fichier txt CSV/délimité par tabulation avec Python
A partir de la ligne 8 et en travaillant ensuite par multiples de 7 (lignes 8, 15, 22, 29, 36 etc ...), je cherche à créer un dictionnaire avec Python 2.7 avec les informations de ces champs . Les données de la colonne A seront la clé (un entier à 6 chiffres) et les données de la colonne C seront les valeurs respectives de la clé. J'ai essayé de mettre en évidence ce ci-dessous, mais la mise en forme est pas le meilleur: -
A B C D
1 CDCDCDCD
2 VDDBDDB
3
4
5
6
7 DDEFEEF FEFEFEFE
8 123456 JONES
9
10
11
12
13
14
15 293849 SMITH
Selon ce qui précède, je suis à la recherche d'extraire la valeur de A7 (DDEFEEF) comme une clé dans mon dictionnaire et " FEFEFEFE "étant les données respectives et ensuite ajouter une autre entrée à mon dictionnaire, saut à la ligne 15 avec" 2938495 "étant ma clé et" Smith "étant la valeur respective.
Des suggestions? Le fichier source est un fichier .txt dont les entrées sont délimitées par des tabulations. Merci
Précision:
Juste pour clarifier les choses, à ce jour, j'ai essayé le ci-dessous: -
import csv
mydict = {:}
f = open("myfile", 'rt')
reader = csv.reader(f)
for row in reader:
print row
ci-dessus simplement imprime sur tout le contenu si une ligne à la fois. J'ai essayé "pour la rangée (7) dans le lecteur" mais ceci a retourné une erreur. Je me suis alors fait des recherches et avait un aller au-dessous, mais cela n'a pas fonctionné ni:
import csv
from itertools import islice
entries = csv.reader(open("myfile", 'rb'))
mydict = {'key' : 'value'}
for i in xrange(6):
mydict['i(0)] = 'I(2) # integers representing columns
range = islice(entries,6)
for entry in range:
mydict[entries(0) = entries(2)] # integers representing columns
@jdigital - question originale éditée pour contenir ce que j'ai essayé jusqu'à présent – thefragileomen
« à partir de la ligne 8 » ne correspond pas à « A7 », « entier à 6 chiffres » n'est pas compatible avec "DDEFEEF" - s'il vous plaît modifier votre question. –
@John Machin - A7 n'est pas la cellule dont je veux extraire les données, c'est A8. Les données dans A7 sont simplement juste pour vous donner un exemple de ce que d'autres données existent dans mon fichier CSV. Comme ce n'est pas un nombre entier à six chiffres, il doit être ignoré. Merci – thefragileomen