Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# -*- coding: utf-8 -*- 

2""" 

3@file 

4@brief Quelques questions d'ordre général autour du langage Python. 

5 

6""" 

7import pandas 

8 

9 

10def read_csv_from_excel(filename, sep="\t", encoding="iso-8859-1"): 

11 """ 

12 Read a file stored in CSV format from Excel. 

13 

14 @param filename filename 

15 @param sep column separator 

16 @param encoding default encoding 

17 @return DataFrame 

18 

19 

20 @FAQ(pandas___Lire un fichier CSV enregistré avec Excel) 

21 

22 Excel utilise un encoding par défaut qui est souvent *iso-8859-1*, c'est pourquoi 

23 la fonction *pandas.read_csv* génère parfois des erreurs lorsque le texte contient des accents. 

24 Il faut lui donner plus d'information sur le contenu : 

25 

26 @code 

27 df2 = pandas.read_csv("base.csv", sep=";" , encoding="iso-8859-1", low_memory=False) 

28 @endcode 

29 

30 Le ``low_memory=False`` est suggéré par un warning de pandas. 

31 On peut aussi essayer la version de *read_csv* implémentée en python (en non C). 

32 Elle est moins rapide mais gère plus de cas (il faut lire le code 

33 pour comprendre pourquoi car la documentation est avare en informations 

34 à ce sujet). 

35 

36 @code 

37 df2 = pandas.read_csv("base.csv", sep=";" , engine="python") 

38 @endcode 

39 

40 @endFAQ 

41 """ 

42 try: 

43 return pandas.read_csv(filename, sep=sep, encoding=encoding, low_memory=False) 

44 except Exception: 

45 return pandas.read_csv(filename, sep=sep, encoding=encoding, engine="python")