Как создать новый csv из csv с разделенными ячейками

Я создал функцию для конвертации csv. Основная тема: получить файл csv вида:

,features,corr_dropped,var_dropped,uv_dropped
0,AghEnt,False,False,False

и я хочу преобразовать его в другой файл csv:

features corr_dropped var_dropped uv_dropped
0 AghEnt False False False

Я создал функцию для этого, но она не работает. Вывод такой же, как и входной файл.

функция

def convert_file():
    input_file = "../input.csv"
    output_file = os.path.splitext(input_file)[0] + "_converted.csv"
    df = pd.read_table(input_file, delimiter=',')
    df.to_csv(output_file, index=False, header=True, sep=',')

Похоже, что существует проблема с разделителем, используемым для чтения входного файла. В настоящее время он установлен на ',', но входной файл, похоже, использует ',' в качестве разделителя значений, а не разделителя между значениями и следующей строкой.

Попробуйте изменить аргумент разделителя в pd.read_table() на '\n':

def convert_file():
    input_file = "../input.csv"
    output_file = os.path.splitext(input_file)[0] + "_converted.csv"
    df = pd.read_table(input_file, delimiter='\n')
    df.to_csv(output_file, index=False, header=True, sep=',')

Это должно правильно прочитать входной файл как DataFrame и записать выходной в новый файл с нужным форматом.

вы можете использовать

df = pd.read_csv(input_file)

это работает с вашими данными. Однако разница невелика. Единственное, что меняется, это то, что пустое место перед первым разделителем теперь содержит Unnamed: 0.

Это то, что вы хотели? (Все еще не совсем понятно, чего вы пытаетесь достичь, поскольку вы импортируете csv и экспортируете те же данные в csv, ничего с ними не делая. Пример вывода, который вы показали, - это просто форматированная версия ваших исходных данных. Но форматирование - это не то, что может делать csv)

Вернуться на верх