Итак, в этом блоге мы будем создавать файлы CSV из другого файла.
Итак, давайте перейдем к теме —

Давайте посмотрим файл, из которого мы будем делать файл csv.
скачать файл можно здесь. Загрузите файл housing.data.

Итак, в этом файле есть столбцы данных. Из этого файла мы должны сделать CSV-файл с разделителями-запятыми.

План такой —
1. возьмем каждую строку файла(с помощью цикла for) и разделим каждую строку из пробела(методом .split() ). Затем мы получим список с некоторыми номерами (доступными в этой строке).

2. Но в списке, который мы получили на первом шаге, будут некоторые значения None в виде (‘’). Мы удалим эти значения.

3. После удаления значений None. Теперь мы увидим, сколько столбцов мы собираемся поместить в файлы csv. Итак, предположим, что теперь у нас есть 14 столбцов, если предположим, что у нас есть только 13 или что-то еще, не равное 14 значениям в списке, но мы нужно только 14 значений в списке, потому что мы создаем CSV-файл с 14 столбцами. Строка, в которой нет 14 значений, мы не будем добавлять значения этой строки в CSV-файл.

Выполним план —

Сначала мы должны знать, как открыть файл Итак, вот код —

import csv
with open('housing.csv', 'a',newline='') as fw:
   # do something with the file

Итак, в приведенном выше коде мы сначала открываем файл csv, в который собираемся записывать данные.

После этого нам нужно открыть тот файл, откуда мы будем брать данные. Теперь приведенный выше код станет —

import csv
with open('housing.csv', 'a',newline='') as fw:
    with open('housing.data', 'r',newline='') as fr:

В третьей строке приведенного выше кода мы открываем файл Housing.data.
Теперь мы выполним тот же процесс, который мы обсуждали в разделе плана для каждой строки файла.

Поэтому, когда мы будем перебирать файл fr, мы будем получать по одной строке за раз.
Полный код здесь —

import csv
with open('housing.csv', 'a',newline='') as fw:
    with open('housing.data', 'r',newline='') as fr:
        for i in fr:
            print(i.split(' '))
            s = csv.writer(fw)
            data=[float(m) for m in i.split(' ') if m]
            if len(data)==14:
                s.writerow([float(m) for m in i.split(' ') if m])
            else:
                pass

В шестой строке мы создаем объект csv.writer, чтобы мы могли писать строку. В седьмой строке мы готовим список данных (что вы можете понять), и после этого мы проверяем, равна ли длина данных 14 потом пишем в csv файл (который мы уже открыли как fw).

После запуска этого кода вы получите CSV-файл с именем Housing.csv.

Таким образом, из этого CSV-файла вы можете продолжить свой любой проект по науке о данных.

Спасибо.