Actualmente tengo un archivo CSV que, cuando se abre en Excel, tiene un total de 5 columnas. Solo las columnas A y C son importantes para mí y los datos en las columnas restantes son irrelevantes.Análisis del archivo txt CSV/tab-delimited con Python
Comenzando en la línea 8 y luego trabajando en múltiplos de 7 (es decir, las líneas 8, 15, 22, 29, 36 etc ...), estoy buscando crear un diccionario con Python 2.7 con la información de estos campos . Los datos en la columna A serán la clave (un entero de 6 dígitos) y los datos en la columna C serán el valor respectivo para la clave. He tratado de poner de relieve este continuación, pero el formato no es el mejor: -
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
De acuerdo con lo anterior, estoy buscando para extraer el valor de la A7 (DDEFEEF) como una llave en el diccionario y " FEFEFEFE "siendo los datos respectivos y luego agregar otra entrada a mi diccionario, saltando a la línea 15 con" 2938495 "siendo mi clave y" Smith "siendo el valor respectivo.
¿Alguna sugerencia? El archivo fuente es un archivo .txt con entradas delimitadas por tabuladores. Gracias
Aclaración:
Solo para aclarar, hasta ahora, no han intentado el siguiente: -
import csv
mydict = {:}
f = open("myfile", 'rt')
reader = csv.reader(f)
for row in reader:
print row
Lo anterior simplemente imprime todo el contenido a través de una fila a la vez. Lo intenté "para la fila (7) en el lector", pero esto arrojó un error. entonces investigado y tenía un ir en el siguiente, pero no funcionó tampoco:
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 - pregunta original editado para contener lo que he probado hasta ahora – thefragileomen
"a partir de la línea 8" no es compatible con "A7", "número entero de 6 dígitos" no es consistente con "DDEFEEF" - por favor edite su pregunta. –
@John Machin - A7 no es la celda de la que quiero extraer los datos, es A8. Los datos en A7 son simplemente para darle un ejemplo de qué otros datos existen en mi archivo CSV. Como no es un número entero de 6 dígitos, debe ignorarse. Gracias – thefragileomen