Python Forum
Creating csv files from Excel file
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Creating csv files from Excel file
#5
You have all the pieces

You know how to open an excel spreadsheet and get the sheets. <- From your program
You know how to get a sheet from a workbook and write it to a csv file. <- From Larz60+ program
You'll need to loop through the sheets in the workbook, converting a page at a time.

The only part you don't quite have is making up a good name for the CSV file(s). You had a good start with your first post, but you'll need to do some work with removing extensions and getting the sheet name. Minor details that won't take long to iron out. Look at pathlib.Path. With Path it is easy to get directory, filename and extension from a file path.

I don't know that Excel_to_Csv needs a class. I think some boilerplate got copied over from a project where you want to change the working directory (maybe making zip files). Not needed here.
Some of the arguments to excel_to_csv could also use default values. Most of the time you want to convert the entire sheet and many workbooks have a single sheet. I made a few small changes.
def excel_to_csv(workbook, csvfile=None, sheet=0, start=None, end=None, index=False):
    """Convert excel spreadsheet (.xlsx) to csv file

    workbook : Name of excel file to read.
    csvfile  : Name of csv file to write.  Default to workbook with .csv extension
    sheet    : Name of sheet in workbook to convert.  Defaults to first sheet
    start    : Start reading at this row.  Default is start reading at row 0.
    end      : Stop reading at this row.  Default is read to end.
    index    : Write index column if True.  Default is False
    """
    if csvfile is None:
        csvfile = Path(workbook).with_suffix(".csv")
    skiprows = max(0, start - 1) if start is not None else None
    nrows = end - start if start and end else None
    df = pd.read_excel(workbook, sheet_name=sheet, skiprows=skiprows, nrows=nrows)
    df.to_csv(csvfile, index=index)
Reply


Messages In This Thread
Creating csv files from Excel file - by azizrasul - Oct-27-2022, 09:37 PM
RE: Creating csv files from Excel file - by Larz60+ - Oct-28-2022, 01:25 AM
RE: Creating csv files from Excel file - by deanhystad - Oct-28-2022, 08:37 PM
RE: Creating csv files from Excel file - by Yoriz - Oct-28-2022, 09:58 PM
RE: Creating csv files from Excel file - by Larz60+ - Oct-28-2022, 10:02 PM
RE: Creating csv files from Excel file - by Larz60+ - Oct-29-2022, 08:55 AM
RE: Creating csv files from Excel file - by Larz60+ - Oct-29-2022, 07:56 PM
RE: Creating csv files from Excel file - by Larz60+ - Oct-29-2022, 11:54 PM
RE: Creating csv files from Excel file - by Larz60+ - Nov-01-2022, 11:44 PM
RE: Creating csv files from Excel file - by Larz60+ - Nov-02-2022, 06:23 PM
RE: Creating csv files from Excel file - by Larz60+ - Nov-02-2022, 08:46 PM
RE: Creating csv files from Excel file - by Larz60+ - Nov-03-2022, 01:06 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  docx file to pandas dataframe/excel iitip92 1 3,066 Jun-27-2024, 05:28 AM
Last Post: Pedroski55
  Python openyxl not updating Excel file MrBean12 1 2,283 Mar-03-2024, 12:16 AM
Last Post: MrBean12
  Copy Paste excel files based on the first letters of the file name Viento 2 1,683 Feb-07-2024, 12:24 PM
Last Post: Viento
  Search Excel File with a list of values huzzug 4 3,019 Nov-03-2023, 05:35 PM
Last Post: huzzug
  Updating sharepoint excel file odd results cubangt 1 2,188 Nov-03-2023, 05:13 PM
Last Post: noisefloor
  Help creating shell scrip for python file marciokoko 10 3,727 Sep-16-2023, 09:46 PM
Last Post: snippsat
  Reading data from excel file –> process it >>then write to another excel output file Jennifer_Jone 0 2,182 Mar-14-2023, 07:59 PM
Last Post: Jennifer_Jone
  Save and Close Excel File avd88 0 7,011 Feb-20-2023, 07:19 PM
Last Post: avd88
  Trying to access excel file on our sharepoint server but getting errors cubangt 0 1,560 Feb-16-2023, 08:11 PM
Last Post: cubangt
  Import XML file directly into Excel spreadsheet demdej 0 1,665 Jan-24-2023, 02:48 PM
Last Post: demdej

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020