Как прочитать файл CSV в Dataframe с настраиваемым разделителем в Pandas?

Опубликовано: 27 Марта, 2022

Python - хороший язык для анализа данных из-за удивительной экосистемы пакетов Python, ориентированных на данные. Пакет pandas - один из них, который значительно упрощает импорт и анализ данных.
Здесь мы обсудим, как загрузить файл CSV в Dataframe. Это делается с помощью метода pandas.read_csv () . Мы должны импортировать библиотеку pandas, чтобы использовать этот метод.

Syntax: pd.read_csv(filepath_or_buffer, sep=’, ‘, delimiter=None, header=’infer’, names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression=’infer’, thousands=None, decimal=b’.’, lineterminator=None, quotechar="”‘, quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, doublequote=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None) 
 

Некоторые полезные параметры приведены ниже:

Параметр Использовать
filepath_or_buffer URL или Dir расположение файла
сен Обозначает разделитель, по умолчанию ',' как в csv (значения, разделенные запятыми)
index_col Этот параметр используется, чтобы сделать переданный столбец индексом вместо 0, 1, 2, 3… r
заголовок Этот параметр используется, чтобы сделать переданную строку / s [список int / int] в качестве заголовка.
use_cols Этот параметр использует только переданный столбец [список строк] для создания фрейма данных.
сжимать Если True и передан только один столбец, возвращает серию панд
скипроу Этот параметр используется для пропуска переданных строк в новом фрейме данных.
skipfooter Этот параметр используется для пропуска количества строк внизу файла.

This method uses comma ‘, ‘ as a default delimiter but we can also use a custom delimiter or a regular expression as a separator.
For downloading the csv files Click Here
Example 1 : Using the read_csv() method with default separator i.e. comma(, )
 

Python3

# Importing pandas library
import pandas as pd
 
# Using the function to load
# the data of example.csv
# into a Dataframe df
df = pd.read_csv("example1.csv")
 
# Print the Dataframe
df

Выход:

Example 2: Using the read_csv() method with ‘_’ as a custom delimiter.
 

Python3

# Importing pandas library
import pandas as pd
 
# Load the data of example.csv
# with "_" as custom delimiter
# into a Dataframe df
df = pd.read_csv("example2.csv",
                   sep = "_",
                   engine = "python")
 
# Print the Dataframe
df

Выход:

Примечание. При указании настраиваемого спецификатора мы должны указать engine = 'python', иначе мы можем получить предупреждение, подобное приведенному ниже:

Example 3 : Using the read_csv() method with tab as a custom delimiter.
 

Python3

# Importing pandas library
import pandas as pd
 
# Load the data of example.csv
# with tab as custom delimiter
# into a Dataframe df
df = pd.read_csv("example3.csv",
                   sep = " ",
                   engine = "python")
 
# Print the Dataframe
df

Выход:

Пример 4: Использование метода read_csv () с регулярным выражением в качестве настраиваемого разделителя.
Предположим, у нас есть файл csv с несколькими типами разделителей, как показано ниже.

totalbill_tip, sex:smoker, day_time, size 
16.99, 1.01:Female|No, Sun, Dinner, 2 
10.34, 1.66, Male, No|Sun:Dinner, 3 
21.01:3.5_Male, No:Sun, Dinner, 3 
23.68, 3.31, Male|No, Sun_Dinner, 2 
24.59:3.61, Female_No, Sun, Dinner, 4 
25.29, 4.71|Male, No:Sun, Dinner, 4
 

To load such file into a dataframe we use regular expression as a separator.
 

Python3

# Importing pandas library
import pandas as pd
 
# Load the data of example.csv
# with regular expression as
# custom delimiter into a
# Dataframe df
df = pd.read_csv("example4.csv",
                   sep = "[:, |_]",
                   engine = "python")
 
# Print the Dataframe
df

Выход:

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.