Автор оригинала: Pankaj Kumar.
Функция Pandas dataframe to_csv () преобразует dataframe в данные CSV. Мы можем пройти объект файла для записи данных CSV в файл. В противном случае данные CSV возвращаются в строковом формате.
Pandas dataframe to_csv () синтаксис
Синтаксис функции dataframe to_csv ():
def to_csv( self, path_or_buf=None, sep=",", na_rep="", float_format=None, columns=None, header=True, index=True, index_label=None, mode="w", encoding=None, compression="infer", quoting=None, quotechar='"', line_terminator=None, chunksize=None, date_format=None, doublequote=True, escapechar=None, decimal=".", )
Некоторые из важных параметров:
- path_or_buf : Объект файла для записи данных CSV. Если этот аргумент не предоставлен, данные CSV возвращаются в виде строки.
- Сен : разделитель для данных CSV. Это должна быть строка длины 1, по умолчанию является запятой.
- na_rep : Строка, представляющая нулевые или отсутствующие значения, по умолчанию пустая строка.
- Колонны : последовательность, чтобы указать столбцы, чтобы включить в вывод CSV.
- Заголовок : Допустимые значения логические или список строки, по умолчанию верно. Если false, имена столбцов не записываются на выходе. Если список строки, он используется для записи имен столбцов. Длина списка строки должна быть такой же, как количество столбцов, написанных в файле CSV.
- индекс : Если true, индекс включен в данные CSV. Если false, значение индекса не записано на выходе CSV.
- index_label : Используется для указания имени столбца для индекса.
Pandas DataFrame к примерам CSV
Давайте посмотрим на некоторые распространенные примеры использования функции To_CSV () для преобразования данных DataFrame в CSV.
1. Преобразование DataFrame в строку CSV
import pandas as pd d1 = {'Name': ['Pankaj', 'Meghna'], 'ID': [1, 2], 'Role': ['CEO', 'CTO']} df = pd.DataFrame(d1) print('DataFrame:\n', df) # default CSV csv_data = df.to_csv() print('\nCSV String:\n', csv_data)
Выход:
DataFrame: Name ID Role 0 Pankaj 1 CEO 1 Meghna 2 CTO CSV String: ,Name,ID,Role 0,Pankaj,1,CEO 1,Meghna,2,CTO
2. Указание разделителя для вывода CSV
csv_data = df.to_csv(sep='|') print(csv_data)
Выход:
|Name|ID|Role 0|Pankaj|1|CEO 1|Meghna|2|CTO
Если указанная длина разделителя не 1, Типерре: «Разделитель» должен быть 1-символьной строкой Поднялся.
3. Выбор только нескольких столбцов для вывода CSV
csv_data = df.to_csv(columns=['Name', 'ID']) print(csv_data)
Выход:
,Name,ID 0,Pankaj,1 1,Meghna,2
Обратите внимание, что индекс не считается действительным столбцом.
4. Игнорирование строки заголовка в выходе CSV
csv_data = df.to_csv(header=False) print(csv_data)
Выход:
0,Pankaj,1,CEO 1,Meghna,2,CTO
5. Настройка пользовательских имен столбцов в CSV
csv_data = df.to_csv(header=['NAME', 'ID', 'ROLE']) print(csv_data)
Выход:
,NAME,ID,ROLE 0,Pankaj,1,CEO 1,Meghna,2,CTO
Опять же, индекс не рассматривается как столбец объекта DataFrame.
6. Пропуск индексной колонны в выходе CSV
csv_data = df.to_csv(index=False) print(csv_data)
Выход:
Name,ID,Role Pankaj,1,CEO Meghna,2,CTO
7. Настройка имени столбца индекса в CSV
csv_data = df.to_csv(index_label='Sl No.') print(csv_data)
Выход:
Sl No.,Name,ID,Role 0,Pankaj,1,CEO 1,Meghna,2,CTO
8. Преобразование DataFrame в файл CSV
with open('csv_data.txt', 'w') as csv_file: df.to_csv(path_or_buf=csv_file)
Мы используем с оператором, чтобы открыть файл, оно заботится о том, чтобы закрыть файл при выполнении блока оператора завершено.
Этот фрагмент кода создаст файл CSV со следующими данными.
9. NULL, NA или отсутствующие представление данных в выходе CSV
import pandas as pd d1 = {'Name': ['Pankaj', 'Meghna'], 'ID': [1, pd.NaT], 'Role': [pd.NaT, 'CTO']} df = pd.DataFrame(d1) print('DataFrame:\n', df) csv_data = df.to_csv() print('\nCSV String:\n', csv_data) csv_data = df.to_csv(na_rep="None") print('CSV String with Null Data Representation:\n', csv_data)
Выход:
DataFrame: Name ID Role 0 Pankaj 1 NaT 1 Meghna NaT CTO CSV String: ,Name,ID,Role 0,Pankaj,1, 1,Meghna,,CTO CSV String with Null Data Representation: ,Name,ID,Role 0,Pankaj,1,None 1,Meghna,None,CTO
Рекомендации
- Pandas read_csv () – Чтение файла CSV в dataframe
- Учебник модуля Python Pandas
- Dataframe to_csv () API DOC