Как вы можете улучшить это - PullRequest
0 голосов
/ 09 октября 2019

Этот скрипт, который я сделал (я очень плохо знаком с 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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...