Remove index column while saving csv in pandas

Question:

I’m trying to create a csv with pandas, but when I export the data to csv it gives me an extra column

d = {'one' : pd.Series([1., 2., 3.]),'two' : pd.Series([1., 2., 3., 4.])}
df0_fa = pd.DataFrame(d)
df_csv = df0_fa.to_csv('revenue/data/test.csv',mode = 'w')

Thus, my result is:

 ,one,two
0,1.0,1.0
1,2.0,2.0
2,3.0,3.0
3,4.0,4.0

But, the expected results are:

one,two
1.0,1.0
2.0,2.0
3.0,3.0
4.0,4.0
Asked By: JPC

||

Answers:

What you are seeing is the index column. Just set index=False:

df_csv = df0_fa.to_csv('revenue/data/test.csv',mode = 'w', index=False)
Answered By: JD Long

To read the csv file without indexing you can unset the index_col to prevent pandas from using your first column as an index. And while saving the csv back onto the disk, do not forget to set index = false in to_csv. This will not generate an additional index column. Else, if you need to delete/remove a specific column from the data frame, use drop , it worked for me as follows :

import pandas as pd
file_path = 'example_file.csv'
data_frame = pd.read_csv(file_path, index_col = False)
column_name = 'column'
data_frame = data_frame.drop(column_name, axis = 1) 
data_frame.to_csv(file_path, index = False)

In this case, even if your csv has a valid index column, you can skip index_col = False in read_csv.

Answered By: Revati Joshi
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.