Я создаю новую таблицу, затем вставляю в нее значения, потому что в файле tsv нет заголовков, поэтому мне нужно сначала создать структуру таблицы, а затем вставить значение. Я пытаюсь вставить значение в таблицу базы данных, которая была создана. Я использую функцию df.to_sql
для вставки tsv
значений в таблицу базы данных, но она создает таблицу, но она не вставляет значения в эту таблицу и не выдает никаких ошибок.
Я попытался создать новую таблицу с помощью значений sqalchemy
и insert
, но это не сработало для уже созданной таблицы.
conn, cur = create_conn()
engine = create_engine('postgresql://postgres:Shubham@123@localhost:5432/walmart')
create_query = '''create table if not exists new_table(
"item_id" TEXT, "product_id" TEXT, "abstract_product_id" TEXT,
"product_name" TEXT, "product_type" TEXT, "ironbank_category" TEXT,
"primary_shelf" TEXT, apparel_category" TEXT, "brand" TEXT)'''
cur.execute(create_query)
conn.commit()
file_name = 'new_table'
new_file = "C:\\Users\\shubham.shinde\\Desktop\\wallll\\new_file.txt"
data = pd.read_csv(new_file, delimiter="\t", chunksize=500000, error_bad_lines=False, quoting=csv.QUOTE_NONE, dtype="unicode", iterator=True)
with open(file_name + '_bad_rows.txt', 'w') as f1:
sys.stderr = f1
for df in data:
df.to_sql('new_table', engine, if_exists='append')
data.close()
Я хочу вставить значения из df.to_sql()
в таблицу базы данных