Этот скрипт, который я сделал (я очень плохо знаком с Python и программированием в целом), используется для прохождения CSV, см. Мой вопрос здесь . Я сделал это, чтобы работать, но это очень элементарный сценарий, что мне также нужно, чтобы CSV имел ровно 3 столбца, или же он не работает, также у меня проблема, когда столбец CSV равен '0', он соответствует строке, которую я хочуудалять и удалять только «0», и я не хочу, чтобы это произошло.
Кроме того, приветствуются любые улучшения или дополнительные функции, которые я могу добавить. Я хотел бы сделать мой код более "твердым" в целом.
Мой код следующий:
# -*- coding: utf-8 -*-
import pandas as pd
import numpy as np
# ruta de la carpeta donde esta el archivo
path = "C:\\trabajos\\Schweppes\\"
# nombre del archivo csv
df = pd.read_csv(path + "csv_schewepps.csv", sep=";", encoding = 'utf8')
# ruta y nombre del archivo
archivo = open("C:\\trabajos\\Schweppes\\csv_schewepps.csv", 'r+', errors =
'ignore', encoding = 'utf8')
# ruta y nombre de un archivo nuevo que se creara
resultado = open("C:\\trabajos\\Schweppes\\csv_schewepps1.csv", 'w', errors
= 'ignore', encoding = 'utf8')
lista_cp = []
for x in range(-1, len(df.index)):
lista_cp.append(np.str(df.iloc[x, 1]))
lista_ln = []
for linea in archivo:
lista_ln.append(linea)
for i in range(0, (len(df.index) + 1)):
if lista_ln[i].count(lista_cp[i]) > 1:
nuevo = lista_ln[i].replace(lista_cp[i], "")
resultado.write(nuevo)
else:
resultado.write(lista_ln[i])
# aqui pones el archivo resultado que te ha salido antes
# sino se ejecuta todo de golpe, se ejecuta hasta la linea 29 y se ejecuta
esta parte
df_2 = pd.read_csv(path + "csv_schewepps1.csv", sep=";")
df_2['cod_postal'] = df['cod_postal']
# el resultado lo crea en un nuevo csv. Este es el resultado final
df_2.to_csv(r"C:\\trabajos\\Schweppes\\csv_schewepps_fin.csv", index=None,
header=True, sep=";")
archivo.close()
resultado.close()
print ("Fin del script")