Удалить все строки с конкретными значениями из CSV-файла - PullRequest
0 голосов
/ 05 ноября 2018

Я работаю над проблемой, в которой у меня есть очень большой набор данных в виде файла CSV. Этот CSV-файл имеет различные столбцы, одним из которых является код состояния. Набор данных значительно больше, чем мне нужно - мне просто нужны значения из одного состояния.

Решением, о котором я думал, было бы прочитать файл csv с помощью Python, а затем записать в новый файл только те строки, которые мне нужны, удалив 49 из 50 состояний (U.S).

CSV-файл содержит более 3 миллионов строк. Я новичок в Python, и я не уверен, как я могу эффективно это сделать, каковы наилучшие способы выполнения этой задачи?

Спасибо за вашу помощь, и я прошу прощения, если это кажется простым вопросом - я новичок в Python.

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Что касается обработки большого количества данных в Python, одна из наиболее рекомендуемых библиотек - Pandas . Это библиотека Python, специализированная для анализа данных, которая может анализировать большой объем данных с помощью объекта DataFrame.

0 голосов
/ 05 ноября 2018

Удаление всех строк отличается от извлечения только одного состояния. Удаление строк из файлов рассматривается достаточно здесь . Предполагая, что вы хотите извлечь только одно состояние, вот один способ, которым вы могли бы это сделать.

with open("file.csv", "r") as file:
    for line in file:
        sline = line.split(",")
        if sline[n] == statecode:
            # Where n is the position of the statecode column zero indexed
            # and statecode is your target state code
            pass # this is where you do something with the data

С этим шаблоном вы реализуете практически любое решение, которое включает в себя поэтапное увеличение csv. Это включает запись в новый CSV, работу с данными в памяти, pandas или dask решения и т. Д.

Ваша система вполне может справиться с непосредственным импортом в pandas или dask, если вы этого хотите. Это популярные инструменты Python для сбора данных со встроенными read_csv методами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...