Étiquette | Explication | Type de données |
Fichier Excel en entrée | Fichier Excel à convertir. | File |
Table en sortie | Table en sortie. | Table |
Feuille ou plage nommée (Facultatif) | Nom de la feuille ou de la plage nommée dans le fichier Excel qui doit être importée. Si le nom n'est pas précisé, la première feuille du classeur est utilisée. Les plages nommées ne sont prises en charge que pour les fichiers .xlsx. Seules les plages nommées avec une plage unique sont prises en charge (par exemple, Sheet!A1:B5) ; celles avec plusieurs plages ne le sont pas (par exemple, Sheet!A1:B5,Sheet!D1:D5). | String |
Ligne à utiliser pour les noms de champ (Facultatif) | Ligne de la feuille Excel qui contient les valeurs à utiliser comme noms de champs. La valeur par défaut est 1. La ligne indiquée sera ignorée lors de la conversion des enregistrements dans la table en sortie. Si la valeur du paramètre Feuille ou plage nommée est une plage nommée, ce paramètre aura pour valeur la ligne minimale de cette plage. La valeur sera également limitée au numéro de ligne maximal et minimal de la plage nommée. Pour ne pas utiliser les valeurs d’une ligne comme noms de champ, définissez ce paramètre sur 0 ; les champs en sortie seront nommés en fonction de la lettre de la colonne (par exemple, COL_A, COL_B, COL_C). Si une cellule d’une colonne donnée est vide, le nom du champ en sortie sera basé sur la lettre de la colonne. Par exemple, si l’entrée comporte trois colonnes et que la ligne contient "city", "" et "country" dans les colonnes A, B et C, respectivement, les noms des champs de la table en sortie seront les suivants : city, COL_B et country. | Long |
Plage de cellules (Facultatif) | Plage de cellules. Ce paramètre est désactivé lorsqu’une plage nommée est sélectionnée. Si aucune plage de cellules n’est indiquée, l’outil utilise les cellules de début et de fin de la feuille spécifiée. La cellule A correspond à l’intersection d’une ligne et d’une colonne. Les colonnes sont identifiées par des lettres (A, B, C, D) et les lignes, par des numéros (1, 2, 3, 4). Chaque cellule possède une adresse basée sur sa colonne et sa ligne. Par exemple, la cellule B9 correspond à l’intersection de la colonne B et de la ligne 9. Une plage de cellules définit un rectangle à l’aide de la cellule supérieure gauche et de la cellule inférieure droite, séparées par un signe deux-points (:). Les plages de cellules sont inclusives ; ainsi, la plage A2:C10 inclut toutes les valeurs des colonnes A à C et toutes les valeurs des lignes 2 à 10. Les noms de champ en sortie sont dérivés des valeurs des cellules de la ligne 1, quelles que soient les lignes spécifiées dans la plage de cellules. Par exemple, si la plage de cellules spécifiée est B2:D10, les noms des champs sont basés sur les valeurs des cellules B1, C1 et D1. Voici quelques exemples de plages de cellules valides :
Voici quelques exemples de plages de cellules non valides :
Ce paramètre n’est actif que si la valeur du paramètre Feuille ou plage nommée est une feuille. | String |
Synthèse
Convertit des fichiers Microsoft Excel en table.
Utilisation
Les formats Classeurs Excel (.xlsx) et Classeur Excel 5.0/95 (.xls) sont pris en charge en entrée.
Le type de données de champ en sortie repose sur les valeurs et le format de cellule de la colonne en entrée. Les types de données de champ en sortie sont notamment double, entier long, flottant, texte et date. Si une colonne en entrée contient plusieurs types de données ou formats, le champ en sortie est de type texte.
La valeur "#N/A" dans une cellule Excel en entrée est convertie en valeur nulle. Si le format de la table en sortie (une table dBASE, par exemple) ne prend pas en charge les valeurs nulles, une autre valeur (0 pour les champs entiers ou une chaîne vide pour les champs de texte) sera utilisée.
Paramètres
arcpy.conversion.ExcelToTable(Input_Excel_File, Output_Table, {Sheet}, {field_names_row}, {cell_range})
Nom | Explication | Type de données |
Input_Excel_File | Fichier Excel à convertir. | File |
Output_Table | Table en sortie. | Table |
Sheet (Facultatif) | Nom de la feuille ou de la plage nommée dans le fichier Excel qui doit être importée. Si le nom n'est pas précisé, la première feuille du classeur est utilisée. Les plages nommées ne sont prises en charge que pour les fichiers .xlsx. Seules les plages nommées avec une plage unique sont prises en charge (par exemple, Sheet!A1:B5) ; celles avec plusieurs plages ne le sont pas (par exemple, Sheet!A1:B5,Sheet!D1:D5). | String |
field_names_row (Facultatif) | Ligne de la feuille Excel qui contient les valeurs à utiliser comme noms de champs. La valeur par défaut est 1. La ligne indiquée sera ignorée lors de la conversion des enregistrements dans la table en sortie. Si la valeur du paramètre Sheet est une plage nommée, ce paramètre aura pour valeur la ligne minimale de cette plage. La valeur sera également limitée au numéro de ligne maximal et minimal de la plage nommée. Pour ne pas utiliser les valeurs d’une ligne comme noms de champ, définissez ce paramètre sur 0 ; les champs en sortie seront nommés en fonction de la lettre de la colonne (par exemple, COL_A, COL_B, COL_C). Si une cellule d’une colonne donnée est vide, le nom du champ en sortie sera basé sur la lettre de la colonne. Par exemple, si l’entrée comporte trois colonnes et que la ligne contient "city", "" et "country" dans les colonnes A, B et C, respectivement, les noms des champs de la table en sortie seront les suivants : city, COL_B et country. | Long |
cell_range (Facultatif) | Plage de cellules. Ce paramètre est désactivé lorsqu’une plage nommée est sélectionnée. Si aucune plage de cellules n’est indiquée, l’outil utilise les cellules de début et de fin de la feuille spécifiée. La cellule A correspond à l’intersection d’une ligne et d’une colonne. Les colonnes sont identifiées par des lettres (A, B, C, D) et les lignes, par des numéros (1, 2, 3, 4). Chaque cellule possède une adresse basée sur sa colonne et sa ligne. Par exemple, la cellule B9 correspond à l’intersection de la colonne B et de la ligne 9. Une plage de cellules définit un rectangle à l’aide de la cellule supérieure gauche et de la cellule inférieure droite, séparées par un signe deux-points (:). Les plages de cellules sont inclusives ; ainsi, la plage A2:C10 inclut toutes les valeurs des colonnes A à C et toutes les valeurs des lignes 2 à 10. Les noms de champ en sortie sont dérivés des valeurs des cellules de la ligne 1, quelles que soient les lignes spécifiées dans la plage de cellules. Par exemple, si la plage de cellules spécifiée est B2:D10, les noms des champs sont basés sur les valeurs des cellules B1, C1 et D1. Voici quelques exemples de plages de cellules valides :
Voici quelques exemples de plages de cellules non valides :
Ce paramètre est actif uniquement si la valeur du paramètre Sheet est une feuille. | String |
Exemple de code
Le script ci-dessous pour la fenêtre Python montre comment utiliser la fonction ExcelToTable en mode immédiat.
import arcpy
arcpy.env.workspace = "c:/data"
arcpy.conversion.ExcelToTable("data.xls", "outgdb.gdb", "Sheet1")
Importez chaque feuille d’un fichier Excel dans des tables individuelles d’une géodatabase.
import os
import xlrd
import openpyxl
import arcpy
def importallsheets(in_excel, out_gdb):
if in_excel.endswith(".xlsx"):
workbook = openpyxl.load_workbook(in_excel)
sheets = workbook.sheetnames
elif in_excel.endswith(".xls"):
workbook = xlrd.open_workbook(in_excel)
sheets = [sheet.name for sheet in workbook.sheets()]
else:
print("An Excel Workbook of format .xls or .xlsx is required.")
return
print('{} sheets found: {}'.format(len(sheets), ','.join(sheets)))
for sheet in sheets:
# The out_table is based on the input Excel file name
# an underscore (_) separator followed by the sheet name
out_table = os.path.join(
out_gdb,
arcpy.ValidateTableName(
"{0}_{1}".format(os.path.basename(in_excel), sheet),
out_gdb))
print('Converting {} to {}'.format(sheet, out_table))
# Perform the conversion
arcpy.conversion.ExcelToTable(in_excel, out_table, sheet)
if __name__ == '__main__':
importallsheets('c:/data/data.xls',
'c:/data/outgdb.gdb')
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?