Nano Hash - криптовалюты, майнинг, программирование

Как сохранить вывод строки после цикла for в python с модулями pandas и csv?

У меня есть следующий цикл for:

    for titles in titles:
        title = titles.xpath("a/text()").extract()
        link = titles.xpath("a/@href").extract()
        print(title, link)

Как я могу сбросить заголовок и ссылку в отформатированный файл .csv?


  • Я почти уверен, что это хорошо продуманная проблема, которую вы можете найти в Google практически сразу, как только напечатали. 04.10.2016
  • Я пробовал несколько вещей, даже с numpy и pandas... 04.10.2016

Ответы:


1

Вы должны использовать модуль Python CSV. Посмотрите здесь для получения дополнительной информации: Запись списка строк в Excel CSV-файл в Python.

Вот пример для вашей проблемы:

import csv
results = []

# your code... also add this to your for loop.
    results.append([title, link])

csv_file = open("csv_file.csv",'wb')
wr = csv.writer(csv_file)
for row in results:
    wr.writerow(row)
04.10.2016
  • Спасибо за помощь, Престон!... когда я попробовал этот подход, CSV-файл пуст... Я получил следующее исключение: File "/Users/user/PycharmProjects/scrapy_tests/ttest/spiders/test.py", line 28, in parse wr.writerow(row) TypeError: a bytes-like object is required, not 'str 04.10.2016
  • Измените 'wb' на 'w', не понимаю, почему вы открылись в двоичном режиме. 04.10.2016
  • Вы можете использовать любой из них, я думаю, примеры, которые я нашел, использовали двоичную запись, поэтому я использовал ее. 04.10.2016

  • 2

    Примерно так (документация):

    ...
    doc_path = "path/to/doc.csv" # must exist, first folder on the place
                                 # where you are running the script!
    with open(doc_path, 'a') as doc:
        for entry in titles:
            title = entry.xpath("a/text()").extract()
            link  = entry.xpath("a/@href").extract()
            print(title, link)
            doc.write(str(title)+','+str(link)+'\n')
    
    04.10.2016
  • Спасибо, Берна!... как насчет панд? 04.10.2016
  • Вы можете использовать что-то вроде pandas.DataFrame.to_csv, но даже люди, использующие pandas, используют традиционные write (пример). 05.10.2016

  • 3

    Используйте программу записи csv.

    Основное использование:

    import csv
    with open('file.csv') as f:
        writer = csv.writer(f)
        writer.writerow(["title", "link"])
    
    04.10.2016

    4
  • Спасибо!... Я получил это исключение: `строка 24, в результате синтаксического анализа += [название + ',' + ссылка + '\n'] Ошибка типа: можно только объединить список (не str) в список` 04.10.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..