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.
6"""
7import pandas
10def read_csv_from_excel(filename, sep="\t", encoding="iso-8859-1"):
11 """
12 Read a file stored in CSV format from Excel.
14 @param filename filename
15 @param sep column separator
16 @param encoding default encoding
17 @return DataFrame
20 @FAQ(pandas___Lire un fichier CSV enregistré avec Excel)
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 :
26 @code
27 df2 = pandas.read_csv("base.csv", sep=";" , encoding="iso-8859-1", low_memory=False)
28 @endcode
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).
36 @code
37 df2 = pandas.read_csv("base.csv", sep=";" , engine="python")
38 @endcode
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")