Arhn - архитектура программирования

Цикл извлечения данных из csv, добавление в файл

Я создал скрипт Python 2.7, который делает следующее:

  1. Получает список имен файлов из папки и записывает их в CSV-файл, по одному для каждой строки.

А также

  1. Вводит данные в окно поиска в Интернете.
  2. Записывает результат из окна поиска в другой CSV-файл.

Итак, теперь я хотел бы, чтобы данные csv в (1) действовали как входные данные для (2).

то есть для каждого имени файла в CSV-файле выполняется поиск этой ячейки.

Кроме того, вместо того, чтобы просто записывать результаты во второй CSV-файл в (3), я хотел бы добавить результат в первый CSV-файл — ИЛИ создать новый с обоими столбцами.

Я могу предоставить код, но, поскольку он уже содержит 50 строк, я просто попытался сделать этот вопрос описательным.

Обновление: предлагаемое извлечение и добавление:

with open("file.csv","a+") as f:
    r = csv.reader(f)
    wr = csv.writer(f, delimiter="\n")
    result = []
    for line in r:
        searchbox = driver.find_element_by_name("searchbox")
        searchbox.send_keys(line)

        sleep(8)

        search_reply = driver.find_element_by_class_name("search_reply")

        result = re.findall("((?<=\()[0-9]*)", search_reply.text)
    wr.writerow(result)
22.05.2015

  • где у тебя была проблема? 1,2 или 3? 22.05.2015
  • Проблема в основном в 2. — я не знаю, как создать цикл, который считывает данные из файла csv. Он должен брать каждую строку из 1. и передавать ее как запрос для 2. 22.05.2015

Ответы:


1

Откройте для чтения и добавления, сохраните вывод, затем напишите в конце:

import csv
with open("first.csv","a+") as f:
    r = csv.reader(f)
    wr = csv.writer(f,delimiter="\n")
    result = []
    for line in r:
        # process lines/step 2
        # append to result
    wr.writerow(result)
22.05.2015
  • Добавьте вывод re в список результатов, затем напишите вне цикла. Перемещение записи вне цикла имеет важное значение 22.05.2015
  • Спасибо. Как я могу добавить результат поиска во второй столбец? Если я сделаю writerow, он начнет новую строку. 22.05.2015
  • Для этого вам нужно будет записать во временный файл, а затем обновить оригинал с содержимым временного файла. 22.05.2015
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..