Разделите столбцы списков из CSV на отдельные файлы CSV с помощью панд.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Разделите столбцы списков из CSV на отдельные файлы CSV с помощью панд.

Сообщение Anonymous »

У меня есть файлы CSV, содержащие несколько столбцов данных, полученных из API, которые могут быть либо значением, либо списком/массивом. Размер этих списков одинаков для каждого столбца (например, столбец с именем ALPHANUMS, имеющий строку, содержащую список типа «['A', 'B', '4']», имеет одинаковый размер). размер списка столбца с именем COLOR, содержащего строку, содержащую список «['красный», 'синий', 'зеленый']», но размеры списка могут различаться в зависимости от файла CSV в зависимости от API ответ, который я хотел бы использовать. pandas, чтобы создать отдельные файлы CSV для каждого элемента в столбце списка, сохраняя при этом остальную часть данных в каждом файле.
Вот пример того, как могут выглядеть данные. из этой функции макета:

Код: Выделить всё

import random
import csv

# Predefined lists for NAME, CARS, and PHONE OS
NAMES = ["John Doe", "Jane Smith", "Alice Johnson", "Bob Brown", "Charlie Davis", "Eve White", "David Wilson", "Emma Taylor", "Frank Harris", "Grace Clark"]
CAR_BRANDS = ["Toyota", "Ford", "BMW", "Tesla", "Honda", "Chevrolet", "Nissan", "Audi"]
PHONE_OS = ["Android", "iOS"]

def create_csv(file_name, num_records):
cur_random_list_size = random.randint(1, min(len(NAMES), len(CAR_BRANDS)))
with open(file_name, mode='w', newline='') as file:
writer = csv.writer(file)

writer.writerow(["ID", "NAME", "MONTH", "CARS", "PHONE OS"])

for i in range(num_records):

record = {
"id" : i + 1,
"name": [NAMES[n] for n in range(cur_random_list_size)],
"month": random.randint(1,12),
"cars": [random.choice(CAR_BRANDS) for _ in range(cur_random_list_size)],
"phone": random.choice(PHONE_OS)
}
writer.writerow(record.values())

print(f"CSV file '{file_name}' created with {num_records} records.")

create_csv("people_data.csv", 5)


ID
ИМЯ
МЕСЯЦ
МАШИНЫ
ТЕЛЕФОН ОС




1
"['Джон Доу', 'Джейн Смит', 'Элис Джонсон', 'Боб Браун', 'Чарли Дэвис', 'Ева Уайт']"
2< /td>
"['Toyota', 'Nissan', 'Nissan', 'Nissan', 'Audi', 'Honda']"
iOS< /td>


2
"['Джон Доу', 'Джейн Смит', ' Элис Джонсон', 'Боб Браун', 'Чарли Дэвис', 'Ева Уайт']"
4
"['Nissan', ' Ford', 'Honda', 'Toyota', 'Ford', 'Honda']"
iOS


3
"['Джон Доу', 'Джейн Смит', 'Элис Джонсон', 'Боб Браун', 'Чарли Дэвис', 'Ева Уайт ']"
8
"['BMW', 'Honda', 'Tesla', 'Tesla', 'Tesla', 'Nissan ']"
Android


4
"['Джон Доу', 'Джейн Смит', 'Элис Джонсон', 'Боб Браун', 'Чарли Дэвис', 'Ева Уайт']"
3
"['Tesla', 'Audi', 'Chevrolet', 'Audi', 'Chevrolet', 'BMW']"
iOS


5
"['Джон Доу', 'Джейн Смит', 'Элис Джонсон', 'Боб Браун', 'Чарли Дэвис', 'Ева Уайт']"
8
"['Ford', 'Tesla ', 'BMW', 'Toyota', 'Nissan', 'Ford']"
Android



И в идеале я бы хотел разделить это на пять отдельных файлов CSV, как пример для john_doe_people_data.csv:



ID
ИМЯ
МЕСЯЦ
МАШИНЫ
ОС ТЕЛЕФОНА< /th>




1
< td>Джон Доу
2
Toyota
iOS


2
Джон Доу
4
Nissan
iOS


3
Джон Доу
8
BMW
Android


4
Джон Доу
3
Tesla
iOS


5Джон Доу
8
Ford
Android



В общем, как я могу использовать pandas для создания отдельных файлов CSV для каждого элемента в столбце списка, сохраняя при этом остальные данные в каждом файле?


Подробнее здесь: https://stackoverflow.com/questions/792 ... ith-pandas
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Разделите столбцы списков из CSV на отдельные файлы CSV с помощью панд.
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Разделите столбцы списков из CSV на отдельные файлы CSV с помощью панд.
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Разделите столбцы списков из CSV на отдельные файлы CSV с помощью панд.
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Разделите столбцы списков из CSV на отдельные файлы CSV с помощью панд.
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Разделите столбцы списков из CSV на отдельные файлы CSV с помощью панд.
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

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