Необходимо написать скрипт на Python, который осуществляет выборку определенных данных из файлов info_1.txt, info_2.txt

Необходимо написать скрипт на Python, который осуществляет выборку определенных данных из файлов info_1.txt, info_2.txt и info_3.txt, и формирует новый отчетный файл в формате CSV. Для этого нужно создать функцию get_data(), в которой будет производиться перебор файлов, открытие и чтение данных. В этой функции необходимо из считанных данных с помощью регулярных выражений извлечь значения параметров "Изготовитель системы", "Название ОС", "Код продукта" и "Тип системы". Затем каждое значение параметра следует поместить в соответствующий список. В итоге должно получиться четыре списка.
Винтик

Винтик

Хорошо, давайте начнем с написания скрипта на Python, с использованием регулярных выражений для извлечения нужных данных из файлов.

Вот пример функции get_data(), которая будет выполнять указанные действия:

python
import re
import csv

def get_data():
# Создаём списки для сохранения значений параметров
izgotovitel_list = []
os_name_list = []
product_code_list = []
system_type_list = []

# Открываем и читаем файлы info_1.txt, info_2.txt и info_3.txt
for file_num in range(1, 4):
filename = f"info_{file_num}.txt"
with open(filename, "r") as file:
data = file.read()

# Ищем и извлекаем значения параметров с помощью регулярных выражений
izgotovitel_match = re.search(r"Изготовитель системы:\s*(.*)", data)
os_name_match = re.search(r"Название ОС:\s*(.*)", data)
product_code_match = re.search(r"Код продукта:\s*(.*)", data)
system_type_match = re.search(r"Тип системы:\s*(.*)", data)

# Если значения параметров найдены, добавляем их в соответствующие списки
if izgotovitel_match:
izgotovitel_list.append(izgotovitel_match.group(1))
if os_name_match:
os_name_list.append(os_name_match.group(1))
if product_code_match:
product_code_list.append(product_code_match.group(1))
if system_type_match:
system_type_list.append(system_type_match.group(1))

# Создаем и записываем отчетный файл в формате CSV
with open("report.csv", "w", newline="") as file:
writer = csv.writer(file)
writer.writerow(["Изготовитель системы", "Название ОС", "Код продукта", "Тип системы"])

# Записываем значения параметров из списков в файл
for i in range(len(izgotovitel_list)):
writer.writerow([izgotovitel_list[i], os_name_list[i], product_code_list[i], system_type_list[i]])

return izgotovitel_list, os_name_list, product_code_list, system_type_list


Вы можете использовать эту функцию, вызвав ее в своем основном коде:

python
izgotovitel_list, os_name_list, product_code_list, system_type_list = get_data()
print(izgotovitel_list)
print(os_name_list)
print(product_code_list)
print(system_type_list)


Теперь функция `get_data()` осуществляет выборку данных из файлов `info_1.txt`, `info_2.txt` и `info_3.txt`, извлекает значения параметров "Изготовитель системы", "Название ОС", "Код продукта" и "Тип системы" с использованием регулярных выражений и сохраняет их в соответствующие списки. Затем она создает отчетный файл `report.csv` и записывает значения параметров в него в формате CSV.

После выполнения функции `get_data()` значения параметров "Изготовитель системы", "Название ОС", "Код продукта" и "Тип системы" будут доступны в соответствующих списках `izgotovitel_list`, `os_name_list`, `product_code_list` и `system_type_list`.
Знаешь ответ?
Задать вопрос
Привет!
hello