-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path08_input_output_ejercicios.py
More file actions
69 lines (61 loc) · 1.84 KB
/
08_input_output_ejercicios.py
File metadata and controls
69 lines (61 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# -*- coding: utf-8 -*-
"""
Created on Mon Jun 8 18:50:14 2020
@author: EspinoLeandroo
"""
#%%
"""
Hacer una función que dado el nombre de un archivo, lo lea y devuelva la linea
con la mayor longitud
"""
def linea_mas_larga(nombre):
with open(nombre) as fname:
lineas = [linea.strip("\n") for linea in fname.readlines()]
linea_mas_larga = lineas[0]
for linea in lineas:
if len(linea) > len(linea_mas_larga):
linea_mas_larga = linea
return linea_mas_larga
#%%
"""
Hacer una función que tenga como argumento un nombre de un archivo y un
número n y devuelva las n ultimas lineas
"""
def leer_n_ultimas(nombre, n):
with open(nombre, "r") as fname:
lineas = [linea.strip("\n") for linea in fname.readlines()]
return lineas[-n:]
#%%
"""
Hacer una función que dado un diccionario cree un archivo csv (el nombre tiene
que acabar en .csv) con los datos del mismo:
Los archivos csv (Comma-Separated-Values) son una forma de almacenar datos con
cada columna separada por una coma
Por ejemplo si tenemos el diccionario:
{
"nombre": ["Antonio", "Miguel", "Julian", "Andres"],
"edad": [45, 40, 22, 34],
"ciudad": ["Murcia", "Almería", "Barcelona", "Madrid"]
}
Dicho diccionario convertido a csv tendria el formato:
nombre,edad,ciudad
Antonio,45,Murcia
Miguel,40,Almería,
...
"""
datos = {
"nombre": ["Leandro", "Itzel"],
"edad": [26, 26],
"ciudad": ["Hidalgo", "Maravatio"]
}
def dict_a_csv(datos, nombre):
claves = list(datos.keys())
n_items = len(datos[claves[0]])
with open(nombre, "w") as fname:
fname.write(','.join(datos.keys()))
fname.write("\n")
for i in range(n_items):
fila = ",".join([str(datos[clave][i]) for clave in claves])
fname.write(fila)
fname.write("\n")
dict_a_csv(datos, "data/working_with_files/nombres.csv")