Как я могу заставить свой код правильно читать столбец CSV, если он отформатирован как-то странно?Python

Программы на Python
Ответить
Anonymous
 Как я могу заставить свой код правильно читать столбец CSV, если он отформатирован как-то странно?

Сообщение Anonymous »

введите здесь описание изображения
Я использую старое программное обеспечение, которое экспортирует очень странно, поэтому мой столбец под названием «Специализация» читается неправильно. Я хочу, чтобы он понял ценности. В основном количество специалистов и универсалов в год. Изображение представляет собой снимок из экспортированного файла CSV. В любом случае все значения специализации читаются как 0. Помогите пожалуйста! Это код, который я пробовал.
import pandas as pd
import glob
import ast

# Specify the directory where your CSV files are located
directory_path = 'myfilepath' # Ensure this path is correct

# Use glob to find all CSV files matching your naming pattern
file_path_pattern = f"{directory_path}patch_turnover_data_*.csv"
all_files = glob.glob(file_path_pattern)

# Load all CSV files into a list of DataFrames
df_list = [pd.read_csv(file) for file in all_files] # Assuming a comma delimiter
# Combine all DataFrames into one
df = pd.concat(df_list, ignore_index=True)

# Strip extra spaces from the column names
df.columns = df.columns.str.strip()

# Function to safely convert strings to lists using ast.literal_eval
def safe_literal_eval(value):
try:
# Reformat the string to add commas between words and then evaluate
value = value.replace(' ', ',') # Add commas between words
return ast.literal_eval(value)
except (ValueError, SyntaxError):
# If conversion fails, return an empty list
return []

# Apply the conversion function to the "Specialization" column
df['Specialization'] = df['Specialization'].str.strip('[]').apply(safe_literal_eval)

# Check if the conversion was successful
print(df['Specialization'].head())


Подробнее здесь: https://stackoverflow.com/questions/791 ... -all-weird
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»