Search code examples
pythonpandasdataframedateexport-to-csv

Exporting Pandas DataFrame cells directly to excel/csv (python)


I have a Pandas DataFrame that has sports records in it. All of them look like this: "1-2-0", "17-12-1", etc., for wins, losses and ties. When I export this the records come up in different date formats within Excel. Some will come up as "12-May", others as "9/5/2001", and others will come up as I want them to.

The DataFrame that I want to export is named 'x' and this is the command I'm currently using. I tried it without the date_format part and it gave the same response in Excel.

x.to_csv(r'C:\Users\B\Desktop\nba.csv', date_format = '%s')

Also tried using to_excel and I kept getting errors while trying to export. Any ideas? I was thinking I am doing the date_format part wrong, but don't know to transfer the string of text directly instead of it getting automatically switched to a string.

Thanks!


Solution

  • I don't think its a python issue, but Excel auto detecting dates in your data. But, see below to convert your scores to strings.

    Try this, import pandas as pd

    df = pd.DataFrame({"lakers" : ["10-0-1"],"celtics" : ["11-1-3"]})
    
    print(df.head())
    

    here is the dataframe with made up data.

    lakers celtics
    0  10-0-1  11-1-3
    

    Convert to dataframe to string

    df = df.astype(str)
    

    and save the csv:

    df.to_csv('nba.csv')
    

    Opening in LibreOffice gives me to columns with scores (made up)

    You might have a use Excel issue going on here. Inline with my comment below, you can change any column in Excel to lots of different formats. In this case I believe Excel is auto detecting date formatting, incorrectly. Select your columns of data, right click, select format and change to anything else, like 'General'.