Попрощайтесь с заданиями, выполняемыми вручную, с помощью этого скрипта Python!

Введение:
Правильные инструменты упрощают сложный анализ данных и сокращают процесс. Аналитики данных тратят значительную часть своего времени на классификацию столбцов данных по определенным типам в файлах CSV. Особенно сложно, когда существуют комбинации типов данных.
Задача:
Несогласованность типов данных — одна из причин, по которой файлы CSV могут создавать трудности при манипуляциях. Если вы не обрабатываете данные должным образом, есть вероятность, что анализ будет содержать ошибки, такие как неправильные расчеты и ошибки интерпретации.
Решение:
Используя кодирование Python, можно автоматизировать определение типа данных файла CSV. Экономия времени и усилий, повышение точности. Вот функция Python для определения типа столбца
"""
Python version 3.8
pandas==1.2.1
"""
def guess_column_types(file_path, delimiter=',', has_headers=True):
try:
# Read the CSV file using the specified delimiter and header settings
df = pd.read_csv(file_path, sep=delimiter, header=0 if has_headers else None)
# Initialize a dictionary to store column data types
column_types = {}
# Loop through columns and infer data types
for column in df.columns:
# sample_values = df[column].dropna().sample(min(5, len(df[column])), random_state=42)
# Check for datetime format "YYYY-MM-DD HH:MM:SS"
is_datetime = all(re.match(r'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}', str(value)) for value in df[column])
# Check for date format "YYYY-MM-DD"
is_date = all(re.match(r'\d{4}-\d{2}-\d{2}', str(value)) for value in df[column])
# Assign data type based on format detection
if is_datetime:
inferred_type = 'datetime64'
elif is_date:
inferred_type = 'date'
else:
inferred_type = pd.api.types.infer_dtype(df[column], skipna=True)
column_types[column] = inferred_type
return (True, column_types) # Return success and column types
except pd.errors.ParserError:
return (False, str(e)) # Return error message
Как это работает:
В Pandas файл CSV сначала читается сценарием Python. Каждый столбец в DataFrame проверяется сценарием на наличие определенных типов данных. В случае смешанных или противоречивых типов данных сценарий берет на себя ответственность, назначая наиболее подходящий тип данных каждому столбцу.
Попробуйте:
Скрипт Python доступен на GitHub. Используйте его в своих начинаниях, скачав его.
Вывод:
Быстрая и простая экономия времени и усилий достигается за счет автоматизации определения типов данных в файлах CSV с помощью Python.
Заключение Получение и интерпретацию результатов становится более управляемым, если сосредоточить на них свое внимание.