Conversion en .csv
chaldeen
-
The_boss_68 Messages postés 959 Date d'inscription Statut Membre Dernière intervention -
The_boss_68 Messages postés 959 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un problème car je souhaite convertir en fichier .xls en .csv pour pouvoir le lire en Python (avec Pandas). Le problème est que même en réalisant "Save As" et en choisissant l'extension .csv, je me retrouve toujours avec un fichier qui n'a pas bougé, qui possède l'extension .csv mais dont les données sont toujours dans des colonnes séparées au lieu d'être séparées par des virgules dans une même cellule. Savez-vous de quoi peut provenir ce problème ?
Merci
J'ai un problème car je souhaite convertir en fichier .xls en .csv pour pouvoir le lire en Python (avec Pandas). Le problème est que même en réalisant "Save As" et en choisissant l'extension .csv, je me retrouve toujours avec un fichier qui n'a pas bougé, qui possède l'extension .csv mais dont les données sont toujours dans des colonnes séparées au lieu d'être séparées par des virgules dans une même cellule. Savez-vous de quoi peut provenir ce problème ?
Merci
1 réponse
-
Bonjour
Test à tout hasard ce code
Les fichiers .csv seront enregistré là ou se trouve ton fichier .XLS
Slts
Option Explicit 'UTF-8 Public Sub Create_CSV() Dim wb As Workbook, ws As Worksheet, ws2 As Worksheet Dim rngHeaders As Range, rngData As Range Dim sPath As String, sFile As String Dim lastCol As Long, lastRow As Long, lRow As Long, Counter As Long Dim i As Long Const X As Long = 1500 With Application .DisplayAlerts = False .ScreenUpdating = False End With Set wb = ThisWorkbook Set ws = wb.Worksheets("Données") sPath = wb.Path & Application.PathSeparator With ws lastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row Set rngHeaders = .Cells(1).Resize(, lastCol) Counter = WorksheetFunction.RoundUp(lastRow / X, 0) lRow = 2 For i = 1 To Counter Set rngData = Union(rngHeaders, .Cells(lRow, 1).Resize(X - 1, lastCol)) sFile = "Part_" & i & ".csv" Set ws2 = Worksheets.Add rngData.Copy Destination:=ws2.Cells(1) ws2.Copy With ActiveWorkbook .SaveAs Filename:=sPath & sFile, FileFormat:=xlCSV .Close savechanges:=False End With Application.DisplayAlerts = False ws2.Delete Application.DisplayAlerts = True lRow = lRow + (X - 1) Next i End With End Sub