GOOGLE ADS

miércoles, 13 de abril de 2022

Escribe 3 variables en 3 columnas en un CSV

Me estoy haciendo tropezar con lo que pensé que sería una tarea simple.

tengo 3 variables:

set_number, precio, split_html

Me gustaría escribirlos en un CSV con encabezados denominados SKU, RRP, SPECS (ya presentes en CSV).

Probé varios enfoques, incluida la adición de variables a un pandas df, pero obtuve malos resultados en todos mis intentos. No estoy atascado en el uso de pandas, por lo que cualquier método recomendado funciona para mí.

El otro requisito es que los datos se escriban en una nueva fila en cada ejecución de esta función, ya que las variables cambiarán. Además, la variable split_html contiene código html.

Código que he probado:

data = set_number, price
df = pd.DataFrame(columns= ['SKU', 'RRP', 'SPEC'])
df = pd.DataFrame(data)
df

Esto escribe cada variable en una nueva fila dentro de la misma columna. Todavía no he intentado escribir en un csv ya que el df tiene un formato incorrecto.

# datarow = set_number,price,split_spec
# with open(r'setspec.csv', 'a', newline= '') as csvfile:
# writer = csv.writer(csvfile)
# datarow =[str(set_number), str(price), str(split_spec)]
# writer.writerow(datarow)

Este código escribe cada variable en una columna, pero produce resultados inconsistentes. La mayoría de las veces salta las tres primeras columnas con encabezados y escribe en 3 columnas nuevas. Entonces salta A,B,C y escribe en la columna DEF.


Solución del problema

with open(r"setspec.csv","a") as csvfile:
csvfile.write(str(set_number)+','+str(price)+','+str(split_spec)+',\n'

No hay comentarios.:

Publicar un comentario

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...