Итак, в этом блоге мы будем создавать файлы 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-файла вы можете продолжить свой любой проект по науке о данных.
Спасибо.