我正在尝试自动将csv文件下载/复制到postgres数据库中,并使用此kaggle一个作为示例。 我遇到对象类型的问题,当前它是一个响应,我想使其生效。
我一直在尝试使用shutil和复制文件,但到目前为止进展不大。
import psycopg2
import requests
import csv
import os
conn = psycopg2.connect(....)
cur = conn.cursor
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))
""")
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()
TypeError:预期的str,字节或os.PathLike对象,而不是Response
答案 0 :(得分:0)
您需要阅读onlinedata.text
with open(onlinedata.text, 'r') as f:
next(f)
cur.copy_from(f,'real_estate_data',sep=',')