2016-08-05 3 views
2

Я отредактировал сообщение, чтобы отразить рекомендованные изменения.Python Преобразование вкладок Excel в CSV-файлы

def Excel2CSV(ExcelFile, Sheetname, CSVFile): 
    import xlrd 
    import csv 

    workbook = xlrd.open_workbook('C:\Users\Programming\consolidateddataviewsyellowed.xlsx') 
    worksheet = workbook.sheet_by_name (ARC) 
    csvfile = open (ARC.csv,'wb') 
    wr = csv.writer (csvfile, quoting = csv.QUOTE_ALL) 

    for rownum in xrange (worksheet.nrows): 
    wr.writerow(
     list(x.encode('utf-8') if type (x) == type (u'') else x 
      for x in worksheet.row_values (rownum))) 

    csvfile.close() 


Excel2CSV("C:\Users\username\Desktop\Programming\consolidateddataviewsyellowed.xlsx","ARC","output.csv") 

Он отображает следующую ошибку.

Traceback (most recent call last): 
    File "C:/Programming/ExceltoCSV.py", line 18, in <module> 

    File "C:/Programming/ExceltoCSV.py", line 2, in Excel2CSV 
import xlrd 
ImportError: No module named xlrd 

Любая помощь была бы принята с благодарностью.

+0

- это промежутки между вашими именами методов и преднамеренными аргументами? Например. Я бы ожидал '.open_workbook (...)' not '.open_workbook (...)' – emunsing

ответ

1

Ответ на редактируемого кода

No module named xlrd указывает на то, что вы не установили xlrd библиотеку. В нижней строке вам нужно установить модуль xlrd. Установка модуля - важный навык, который начинающие пользователи питона должны изучать, и это может быть немного волосатым, если вы не разбираетесь в технологии. Вот где начать.

Сначала проверьте, есть ли у вас пип (модуль, используемый для установки других модулей для python). Если вы недавно установили python и имеете обновленное программное обеспечение, у вас почти наверняка уже есть пип. Если нет, см. Это подробное описание того, как ответить в другом месте на stackoverflow: How do I install pip on Windows?

Во-вторых, используйте pip для установки модуля xlrd. У Интернета уже есть своя учебная литература по этому вопросу, поэтому я не буду обрисовывать это здесь. Просто Google: «Как установить модуль на вашей ОС здесь»

Надеюсь, это поможет!

Старый Ответ

ваш код выглядит хорошо .. Вот тест я побежал, используя в основном то, что ваш написал. Обратите внимание, что я изменил вашу функцию так, чтобы она использовала аргументы, а не жестко заданные значения. может быть, где твоя проблема?

def Excel2CSV(ExcelFile, Sheetname, CSVFile): 
    import xlrd 
    import csv 

    workbook = xlrd.open_workbook (ExcelFile) 
    worksheet = workbook.sheet_by_name (Sheetname) 
    csvfile = open (CSVFile,'wb') 
    wr = csv.writer (csvfile, quoting = csv.QUOTE_ALL) 

    for rownum in xrange(worksheet.nrows): 
     wr.writerow(
      list(x.encode('utf-8') if type (x) == type (u'') else x 
       for x in worksheet.row_values (rownum))) 

    csvfile.close() 

Excel2CSV("C:\path\to\XLSXfile.xlsx","Sheet_Name","C:\path\to\CSVfile.csv") 

Двойная проверка того, что аргументы, которые вы передаете, верны.

+2

Excel2CSV («C: \ Users \ R \ Desktop \ pythontestfile.xlsx», «Sheet1», «output.csv») Должен ли я заменить расширение на мое расположение листа Excel. Я удалил из os import sys из моего скрипта и все еще бежит без ошибок. –

+0

Правильно, замените эти входы вашим файловым именем, именем листа и именем выходного файла csv. Обратите внимание, что они являются строками и должны быть в кавычках. – rvictordelta

Смежные вопросы