me gustaría poder acceder a líneas específicas de un archivo csv a través del lector csv. Por ejemplo, la cuarta línea. ¿Hay alguna manera de hacer esto con el módulo de lector csv de python?subscribiendo una línea específica del lector csv de python?
Respuesta
Simplemente tiene que analizar todo el archivo CSV, y luego usar la indexación de secuencia normal.
De lo contrario, puede hacer algo como esto
def my_filter(csv_file, lines):
for line_number, line in enumerate(csv_file):
if line_number in lines:
yield line
my_file = open("file.csv")
my_reader = csv.reader(my_filter(my_file, (3,)))
Tenga en cuenta que no se puede evitar que sea interpretado todo el archivo, de una manera o de otra, porque las líneas son de longitud variable. El recuento de líneas solo avanza cuando se encuentra un '\ n', y debe encontrarse carácter por carácter.
Además, este filtro no funcionará si tiene caracteres de nueva línea dentro de comillas en el archivo csv; probablemente sea mejor que analice todo el archivo en una lista y recupere los índices desde allí, de todos modos:
my_file = open("file.csv")
my_reader = csv.reader(my_file)
my_line = list(my_reader)[3]
actualización lo más importante: si necesita acceso aleatorio a la información que es demasiado grande para caber en la memoria, basta con considerar deshacerse de ellos a una base de datos SQL en lugar. Le ahorrará a uno reinventar muchas ruedas.
- 1. Lector Python UTF-16 CSV
- 2. lector CSV de Python y la iteración
- 3. comportamiento del lector csv con ninguno y cadena vacía
- 4. Analizador/lector de CSV para C#?
- 5. Cómo encontrar una fila específica en csv
- 6. Cómo leer una línea CSV con "?
- 7. Deshabilitar una advertencia específica en una línea específica en Xcode
- 8. PHP: Leer línea específica del archivo
- 9. ¿Lees una línea de un lector de secuencias sin consumir?
- 10. Lea csv de la fila específica
- 11. ¿Cómo puedo desactivar las citas en el lector Python 2.4 CSV?
- 12. Análisis del archivo txt CSV/tab-delimited con Python
- 13. Python CSV: Quite las comillas del valor
- 14. Especificación del tipo de datos en el lector csv de Pandas
- 15. Edición línea específica en el archivo de texto en Python
- 16. regex para dividir línea (archivo csv)
- 17. Desplazamiento de una vista de texto a una línea específica
- 18. insertando texto en una línea específica
- 19. Python 3.2 omita una línea en csv.DictReader
- 20. Lector de archivos de forma en Python?
- 21. excel-lector problema utf
- 22. Python csv sin cabecera
- 23. Python: eliminar entradas duplicadas de CSV
- 24. Anexando a la última línea del archivo CSV en Java
- 25. ¿Cómo obtener una línea específica de una cadena en C#?
- 26. Python csv: UnicodeDecodeError
- 27. python csv pregunta
- 28. Python Parse CSV Correctamente
- 29. Rastreando la posición de la línea de un lector
- 30. Clasificar CSV en Python
seguro. el archivo es demasiado grande para leer todo en la memoria a la vez. Planeo acceder a todas las líneas, pero también necesito saltar el archivo y evitar cargar todo al mismo tiempo. – ahhh
SO, la solución de filtro lo ayudará a usted (siempre que no tenga \ n dentro de los valores literales). Si necesita acceso fuera de servicio, la solución de filtro puede usarse para crear una lista como en el último ejemplo. – jsbueno