Lorsque vous souhaitez ** extraire par lots ** les données de ** colonnes spécifiques ** dans la ** feuille spécifique ** de plusieurs fichiers Excel et les mettre sur une seule ligne, vous pouvez les traiter rapidement à l'aide de python. J'ai donc décidé de l'organiser sous forme de mémorandum.
import glob
files=glob.glob(r'/Pour l'analyse des résultats d'examen/*.xlsx')
import pandas as pd
for file in files:
df = pd.read_excel(file, sheet_name='Liste des points à souligner')
for row in df.values:
#Extraire les données dans la 10e colonne
s_data = str(row[9]).strip().rstrip()
print(s_data.replace('\n',''))
--Lorsque les données de date sont incluses ――Lorsque vous lisez un fichier Excel avec python, vous pouvez rencontrer un événement où la date affichée sur le fichier Excel est convertie en un nombre à 5 chiffres tel que 41496. Il semble que cela soit dû au fait que la date dans Excel commence le 1er janvier 1900 (le premier jour) et que les données de date sont conservées sous forme de valeur numérique obtenue en ajoutant le nombre de jours à partir de cela. (Voir l'article connexe 2). ――Par conséquent, il est nécessaire de créer la fonction suivante et de la convertir, je vais donc décrire le code qui a réellement fonctionné.
def excel_date(num):
from datetime import datetime, timedelta
return(datetime(1899, 12, 30) + timedelta(days=num))
print(pd.to_datetime(excel_date(row[11]), format='%Y année%m mois%jour j'))
C'est tout. (S'il existe un moyen plus simple, veuillez commenter)
Recommended Posts