--Je veux supprimer toutes les lignes d'en-tête d'un grand nombre de fichiers csv ―― J'utilise Jupyter Notebook
--Ce fichier est placé dans le répertoire courant --Placez le fichier csv que vous souhaitez traiter en-tête dans le dossier Machine11_trd du répertoire actuel.
import csv, os
#Créez le chemin du dossier que vous souhaitez traiter(1)Référence
csv_folder_path = os.path.join(".","InputFolder")
#Créez le chemin du dossier de destination de sortie(2)Destination
headerRemoved_path = os.path.join(csv_folder_path,"headerRemoved")
#Créez un nouveau dossier pour contenir les fichiers supprimés par en-tête.
os.makedirs(headerRemoved_path, exist_ok=True)
#Boucle tous les fichiers dans le dossier spécifié sous le répertoire actuel
#Extraire la liste des noms de fichiers dans le dossier spécifié
for csv_filename in os.listdir(csv_folder_path):
if not csv_filename.endswith(".csv"):
continue #Ignorer sinon un fichier csv
#print("Le titre est en cours de suppression"+ csv_filename + "...")
#Lire ligne par ligne à partir du fichier CSV(Passer la première ligne)
csv_rows=[]
csv_file_obj = open(os.path.join(csv_folder_path, csv_filename))
reader_obj = csv.reader(csv_file_obj)
for row in reader_obj:
#Ne pas ajouter sur la première ou la deuxième ligne,D'autres seront ajoutés(3)Condition d'en-tête
if reader_obj.line_num == 1 or reader_obj.line_num == 2:
continue #Passer la ligne cible
csv_rows.append(row)
csv_file_obj.close()
#Exporter le fichier CSV vers le dossier spécifié
csv_file_obj = open(os.path.join(headerRemoved_path, csv_filename),"w",newline="")
csv_writer = csv.writer(csv_file_obj)
for row in csv_rows:
csv_writer.writerow(row)
csv_file_obj.close()
--Sautez les première et deuxième lignes et enregistrez toutes les lignes dans csv_rows [](modifiez si nécessaire) --Créez un nouveau fichier CSV dans le dossier headerRemove créé dans le répertoire courant et écrivez-le.
Recommended Posts