Convertisseur xls vers csv

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Convertisseur xls vers csv

Message par ForumBot »

J’utilise win32.client en Python pour convertir mes fichiers .xlsx et .xls en .csv. Quand j’exécute ce code, cela me donne une erreur. Mon code est :


def convertXLS2CSV(aFile):
'''converts a MS Excel file to csv w/ the same name in the same directory'''

print "------ beginning to convert XLS to CSV ------"

try:
import win32com.client, os
from win32com.client import constants as c
excel = win32com.client.Dispatch('Excel.Application')

fileDir, fileName = os.path.split(aFile)
nameOnly = os.path.splitext(fileName)
newName = nameOnly[0] + ".csv"
outCSV = os.path.join(fileDir, newName)
workbook = excel.Workbooks.Open(aFile)
workbook.SaveAs(outCSV, c.xlCSVMSDOS) # 24 represents xlCSVMSDOS
workbook.Close(False)
excel.Quit()
del excel

print "...Converted " + nameOnly + " to CSV"
except:
print ">>>>>>> FAILED to convert " + aFile + " to CSV!"

convertXLS2CSV("G:\\hello.xlsx")


Je n’arrive pas à trouver l’erreur dans ce code. Merci de m’aider.




Source : Stack Overflow,)

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Convertisseur xls vers csv

Message par ayi »

J’utiliserais xlrd - c’est plus rapide, multiplateforme et fonctionne directement avec le fichier.


À partir de la version 0.8.0, xlrd lit à la fois les fichiers XLS et XLSX.


Mais à partir de la version 2.0.0, le support a été réduit à uniquement XLS.


import xlrd
import csv

def csv_from_excel():
wb = xlrd.open_workbook('your_workbook.xls')
sh = wb.sheet_by_name('Sheet1')
your_csv_file = open('your_csv_file.csv', 'wb')
wr = csv.writer(your_csv_file, quoting=csv.QUOTE_ALL)

for rownum in xrange(sh.nrows):
wr.writerow(sh.row_values(rownum))

your_csv_file.close()

Répondre

Revenir à « Excel & VBA »