knop
knop

Reputation: 145

Closing file after using to_csv()

I am new to python and so far I am loving the ipython notebook for learning. Am I using the to_csv() function to write out a pandas dataframe out to a file. I wanted to open the csv to see how it would look in excel and it would only open in read only mode because it was still in use by another How do I close the file?

import pandas as pd
import numpy as np
import statsmodels.api as sm
import csv

df = pd.DataFrame(file)
path = "File_location"

df.to_csv(path+'filename.csv', mode='wb')

This will write out the file no problem but when I "check" it in excel I get the read only warning. This also brought up a larger question for me. Is there a way to see what files python is currently using/touching?

Upvotes: 5

Views: 24855

Answers (3)

yeaske
yeaske

Reputation: 1432

This is the better way of doing it. With context manager, you don't have to handle the file resource.

with open("thefile.csv", "w") as f:
    df.to_csv(f)

Upvotes: 8

Mike Z.
Mike Z.

Reputation: 109

The newest pandas to_csv closes the file automatically when it's done.

Upvotes: 3

knop
knop

Reputation: 145

@rpattiso thank you.

try opening and closing the file yourself:

outfile = open(path+'filename.csv', 'wb')
df.to_csv(outfile)
outfile.close()     

Upvotes: 4

Related Questions