Ceci est mon propre mémo de la partie où j'ai trébuché en écrivant le code. Outre la simple lecture et l'écriture de trames de données Voici un exemple de traitement lorsque vous souhaitez créer une nouvelle colonne B qui contient 1 s'il y a un cercle dans la colonne A et 2 si ce n'est pas le cas.
Dans ce code, "dfCsv" s'écrit généralement "df".
dfex.py
import csv
import codecs
import os, os.path
import datetime
import pandas as pd
import warnings
CSVFILE="Nanna.csv"
def main():
print(str(datetime.datetime.now())+"\t"+"Commencez à lire les données cibles.")
#Conversion d'un fichier CSV en trame de données dfCsv.
dfCsv= pd.read_csv(CSVFILE,encoding='cp932', header=0)
print(str(datetime.datetime.now())+"\t"+CSVFILE+":Le chargement est terminé.")
#Lorsque vous ajoutez une nouvelle colonne, vous pouvez le faire comme ceci.
dfCsv=textSearch(dfCsv)
#Résultat le résultat de l'exécution.Exporter vers csv
with open("result.csv",mode='w') as f:
s = ""
f.write(s)
dfCsv.to_csv("result.csv",mode="a")
#Ajouté au bloc de données existant.
def textSearch(dfTmp):
#Déclarer une liste vide
#Si vous ajoutez pendant la lecture d'une ligne du bloc de données, vous obtiendrez une liste avec le même nombre de lignes que le bloc de données.
profList=[]
for profTxt in dfTmp['profil']:
profList.append(profTxt)
retList=[]
for prof in profList:
if ("Japon" in str(prof)) :
ret="Japonais"
else:
ret="pas japonais"
retList.append(ret)
#Joignez la liste créée par ce sous-programme à la trame de données transmise.
dfTmp['Japonais?'] = retList
return(dfTmp)
if __name__ == "__main__":
main()
C'est le cœur de cette époque.
#Lorsque vous ajoutez une nouvelle colonne, vous pouvez le faire comme ceci.
dfCsv=textSearch(dfCsv)
Cela ne signifie pas "simplement appeler une fonction appelée textSearch!". Le textSearch lui-même est défini dans ce code de programme. Si vous transmettez la trame de données à un sous-programme et effectuez le traitement de cette manière Vous pouvez ajouter une nouvelle colonne au bloc de données qui stocke les résultats du traitement.