Я пытаюсь автоматически загрузить / скопировать CSV-файл в базу данных postgres и использую этот файл в качестве примера.Я столкнулся с проблемой с типом объекта, в настоящее время это ответ, и я хочу, чтобы он работал.
Я поигрался с использованием shutil и копированием файлов, но пока не достиг большого прогресса.
шаг 1, импорт библиотек и настройка соединений
import psycopg2
import requests
import csv
import os
conn = psycopg2.connect(....)
cur = conn.cursor
шаг2 создать таблицу в базе данных
cur.execute("""
CREATE TABLE real_estate_data(
id integer PRIMARY KEY,
data DATE,
rentorbuy VARCHAR(255),
location VARCHAR(255),
address VARCHAR(255),
zipcode VARCHAR(255),
description VARCHAR(255),
type VARCHAR(255),
nbofrooms DECIMAL(3,2),
surace VARCHAR(255),
floor INT,
price VARCHAR(255),
source VARCHAR(255))
""")
шаг 3. использовать запросы для получения csv из URL-адреса и скопировать эти данные из таблицы (в данном случае данные о недвижимости)
url = 'https://www.kaggle.com/fredgirod/web-crawler-for-real-estate-
market/downloads/Output.csv/3'
onlinedata = requests.get(url, verify =False)
onlinedata.raise_for_status()
with open(onlinedata, 'r') as f:
next(f)
cur.copy_from(f,'real_estate_data',sep=',')
conn.commit()
Ошибка типа: ожидаемый объект str, bytes или os.PathLike, а не Response