Python SQL TypeError:并非所有参数都在字符串格式化期间转换

问题描述 投票:0回答:1

无法从CSv上传数据到数据库,报错

回溯(最后一次通话): 文件“/Users/egornenashev/PycharmProjects/BigDataProject/main.py”,第 28 行,位于 光标.执行( 类型错误:并非所有参数都在字符串格式化期间转换

import pandas
import psycopg2
# import numpy as np
import sys

sys.setrecursionlimit(10000000)

# Устанавливаем соединение с базой данных
conn = psycopg2.connect(host='localhost', port=5432, database='postgres', user='admin', password='root')
cursor = conn.cursor()

if __name__ == '__main__':
    # Загружаем данные из CSV-файла в объект Pandas DataFrame по блокам по 100000 строк за раз
    for data in pandas.read_csv('/Users/egornenashev/Downloads/Telegram Desktop/ON.csv', chunksize=100000):
        # Подключаемся к базе данных и создаем курсор
        conn = psycopg2.connect(host='localhost', port=5432, database='postgres', user='admin',
                                password='root')
        cursor = conn.cursor()
        print(data)

        # Заменяем отсутствующие значения в данных на среднее значение по столбцу
        # data = data.replace('Nan', np.nan).fillna(value=data.mean())

        # Проходимся по каждой строке данных и вставляем ее в базу данных
        for i in data.values:
            if any(pandas.isnull(i)):
                continue
            cursor.execute(
                "INSERT INTO txn (Date_, Low, Open_, Volume, High, Close_, Adjusted_Close) VALUES (dd-mm-yyyy, %s, %s, %s, %s, %s, %s)",
                [i[0], i[1], i[2], i[3], i[4], i[5], i[6]])
        conn.commit()
        conn.close()
    print('Done')

找不到问题的解决方案

sql postgresql csv psycopg2
1个回答
0
投票

原来一切都很简单,我什至有点惭愧,数据集dd.mm.yyyy中的日期格式不正确enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.