melololo
melololo

Reputation: 171

How to rename the "Unnamed: 0" column in csv?

I created a csv file from a pandas dataframe. I want to retain the Unnamed: 0 column in the csv file but rename it as class.

import re
import csv

# Read the channelNames.txt file line-by-line to find the class names
channel_file = "../input_data/images/channelNames.txt"

with open(channel_file, "r") as class_info:
    lines = class_info.readlines()
    cls_names = []
    # Remove lines with "Blank"
    for l in lines:
        if re.findall(r"Blank", l):
            pass
        else:
            cls_names.append(l)

# Create classes.csv
cls_df = pd.DataFrame(cls_names, columns=["class_name"])
cls_df.to_csv('classes.csv', index=True)

cls_read = pd.read_csv("classes.csv")
cls_read.head()
Unnamed: 0 class_name
0 A
1 B
2 C
3 D

Desired output

class class_name
0 A
1 B
2 C
3 D

Upvotes: 0

Views: 587

Answers (1)

emremrah
emremrah

Reputation: 1765

cls_df.to_csv('classes.csv', index=True, index_label='class')

If you don't have to save it with "Unnamed: 0", with this way you can save it named as "class".

P.S. columns named as "class" are a little bit dangerous; you won't be able to use df.class.

Edit E.g.

df = pd.DataFrame({'foo': [1, 2, 3]})
df.to_csv('foo.csv', index=True, index_label='class')
pd.read_csv('foo.csv')  # outputs a column named class

Upvotes: 1

Related Questions