我制作的这个脚本(我对Python和程序设计非常陌生)用于CSV see my question here。我可以使用它,但是它是一个非常基本的脚本,我也需要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")