Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1189 / 759 / 127
Регистрация: 10.03.2012
Сообщений: 4,880

Объединение данных

17.12.2025, 13:29. Показов 761. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возьмите данные из файлов employees.csv и salary.csv, где содержится информация по должностям сотрудников и их заработным платам соответственно.
Содержимое employees.csv:
full_name,profession,grade
Марк Киселев,frontend,junior
Дарина Максимова,backend,middle
Аксель Игнатьев,backend,senior
Феликс Воронов,frontend,junior
Злата Бурова,qa,middle
Луиза Романовская,backend,middle
Ирина Альшевская,designer,middle
Полина Хрущева,product,junior
Радомир Зеленский,product,senior
Вильгельм Казанцев,frontend,middle
Лукреция Миронова,qa,junior
Герман Нестеров,designer,senior

Содержимое salary.csv:
full_name,salary
Ирина Альшевская,120000
Марк Киселев,90000
Дарина Максимова,135000
Аксель Игнатьев,110000
Феликс Воронов,95000
Злата Бурова,125000
Луиза Романовская,118000
Полина Хрущева,87000
Радомир Зеленский,140000
Вильгельм Казанцев,105000
Лукреция Миронова,95000
Герман Нестеров,130000

Объедините данные в таблицу и запишите в файл employees_full.csv
full_name,profession,grade,salary
Марк Киселев,frontend,junior,90000
Дарина Максимова,backend,middle,135000
Аксель Игнатьев,backend,senior,110000
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.12.2025, 13:29
Ответы с готовыми решениями:

объединение xml
Здравствуйте, пробую вставить созданный элемент group в существующий xml файл. по отдельности...

Объединение списков
Суть. Есть 2 списка. К примеру - l1 = l2= Нужно получить 3-ий, следующего вида l1*f(l2) На ум...

Реализовать объединение, пересечение и разность списков
Реализовать объединение,пересечение и разность списков(2 случая: 1. линейный список, 2. нелинейный...

5
Эксперт Python
8849 / 4501 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
17.12.2025, 15:16
pandas.merge
2
1189 / 759 / 127
Регистрация: 10.03.2012
Сообщений: 4,880
20.12.2025, 17:24  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import csv
 
employees_file = 'employees.csv'
salary_file = 'salary.csv'
 
salary_data = {}
 
file = open(salary_file, 'r', encoding='utf-8')
reader = csv.DictReader(file)
for row in reader:
    salary_data[row['full_name']] = row['salary']
 
employees_full = []
 
file = open(employees_file, 'r', encoding='utf-8')
reader = csv.DictReader(file)
for row in reader:
    full_name = row['full_name']
    employee_data = {
        'full_name': full_name,
        'profession': row['profession'],
        'grade': row['grade'],
        'salary': salary_data[full_name]
    }
    employees_full.append(employee_data)
 
output_file = open('employees_full.csv', 'a', encoding='utf-8')
fieldnames = ['full_name', 'profession', 'grade', 'salary']
writer = csv.DictWriter(output_file, fieldnames=fieldnames)
 
writer.writeheader()
writer.writerows(employees_full)
1
 Аватар для volodin661
6677 / 2270 / 346
Регистрация: 10.12.2013
Сообщений: 7,838
22.12.2025, 12:04
Python
1
2
3
4
5
6
7
8
9
10
11
import subprocess
 
sql3_commands = """
.separator ','
.import employees.csv employees
.import salary.csv    salary
select e.full_name, profession, grade, salary from salary s, employees e where e.full_name = s.full_name;
"""
 
process = subprocess.Popen(['sqlite3', 'my_database.db'], stdin=subprocess.PIPE)
process.communicate(input=sql3_commands.encode())
Ирина Альшевская,designer,middle,120000
Марк Киселев,frontend,junior,90000
Дарина Максимова,backend,middle,135000
Аксель Игнатьев,backend,senior,110000
Феликс Воронов,frontend,junior,95000
Злата Бурова,qa,middle,125000
Луиза Романовская,backend,middle,118000
Полина Хрущева,product,junior,87000
Радомир Зеленский,product,senior,140000
Вильгельм Казанцев,frontend,middle,105000
Лукреция Миронова,qa,junior,95000
Герман Нестеров,designer,senior,130000
0
1189 / 759 / 127
Регистрация: 10.03.2012
Сообщений: 4,880
22.12.2025, 21:36  [ТС]
Python
1
2
3
4
5
6
7
import pandas as pd
 
employees_df = pd.read_csv('employees.csv')
salary_df = pd.read_csv('salary.csv')
merged_df = pd.merge(employees_df, salary_df, on='full_name', how='left')
merged_df = merged_df.rename(columns={'salary_x': 'salary'})
merged_df.to_csv('employees_full.csv', index=False, columns=['full_name', 'profession', 'grade', 'salary'])
0
24.12.2025, 04:19

Не по теме:

Ни одного подключенного модуля, ни одного литерала, ни одного пробела; последнее позволяет полностью отказаться от кавычек в однострочнике. подогнал под 100 символов.

Windows Batch file
1
perl -lnEfor(($k,@v)=/[^,]+/g){push(@{$x{$k}},@v);@v=()}}{for(sort(keys%x)){say(join(v124,$_,@{$x{$_}}))} employees.csv salary.csv
full_name|profession|grade|salary
Аксель Игнатьев|backend|senior|110000
Вильгельм Казанцев|frontend|middle|105000
Герман Нестеров|designer|senior|130000
Дарина Максимова|backend|middle|135000
Злата Бурова|qa|middle|125000
Ирина Альшевская|designer|middle|120000
Луиза Романовская|backend|middle|118000
Лукреция Миронова|qa|junior|95000
Марк Киселев|frontend|junior|90000
Полина Хрущева|product|junior|87000
Радомир Зеленский|product|senior|140000
Феликс Воронов|frontend|junior|95000

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.12.2025, 04:19
Помогаю со студенческими работами здесь

Объединение C++ и Python
Хочу сделать скриптовую обвязку на Python для нативного приложения написанного на С++. Прочитал что...

Объединение точек-векторное произведение
Создал квадраты, нашел их центры. Задача объединить центры с помощью векторного произведения...

Объединение словарей Python
Господа, помогите разобраться в задаче: необходимо объединить два прайс-листа (задаются в виде...

Объединение параметров под один ключ словаря
Имеются результаты итерации в виде 'объект - характеристика' Как получить словарь:...

Объединение строк в списке
Здравствуйте, подскажите, пожалуйста, новичку на Пайтоне. Есть список: data = нужно склеить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Перейдите по ссылке:. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru