2016-07-09 5 views
1

У меня есть файл CSV, содержащий 4000 столбцов, и мне нужно импортировать его в базу данных postgres. Я использую pgadminIII. В ORACLE SQL есть опция, где я могу щелкнуть правой кнопкой мыши по таблице и импортировать. Есть ли аналогичный способ в Postgres. Если не самый эффективный способ создать таблицу с таким количеством столбцов?Импорт данных из csv в PostgreSQL

Обновление- Я получил это работает:

import pandas as pd 
df = pd.read_csv('C:/Users/dbharali0376/Desktop/Merge_N_Reorder/ip_merged_52_final.csv',dtype='unicode') 
df.columns = [c.lower() for c in df.columns] 
from sqlalchemy import create_engine 
engine = create_engine('postgresql://postgres:[email protected]:5432/postgres') 

df.to_sql("trial", engine, if_exists='append',index=False) 

Это создает новую таблицу из входного CSV.

+0

https://www.postgresql.org/docs/current/static/sql-copy.html –

+1

Вы уверены, что вы можете сделать это с Oracle? Как я помню, он имеет 1000 столбцов на ограничение таблицы. Однако PostgreSQL также не так «каучук» и имеет [Максимальные столбцы для таблицы 250 - 1600 в зависимости от типа столбцов] (https://www.postgresql.org/about/). – Abelisto

+0

@ Gordon Linoff, для COPY Мне уже нужна таблица, чтобы существовать. Есть ли способ создать таблицу с таким количеством столбцов через GUI, или мне нужно вводить имя каждого столбца. –

ответ

0

Что представляют собой столбцы? Являются ли временные метки или что-то еще, что лучше было бы представлять в реляционной базе данных в виде строк?

Я предполагаю, что вам придется каким-то образом манипулировать этим CSV во что-то, что может обрабатывать postgres.

«pgfutter» - это скрипт python, который создаст таблицу для вас на основе заголовка CSV, а затем загрузит данные с помощью команды COPY. Это не инструмент GUI, но должен быть прост в использовании.

0

В PGAdmin III

  1. Перейти к выбору таблиц в схеме.
  2. Щелкните правой кнопкой мыши на таблице под таблицами и щелкните по импорту.
  3. Просмотрите файл crv, щелкните по формату и выберите crv.
  4. Настройте свой импорт - Кодирование/Delimter т.д.
+0

Это работает только в том случае, если уже создана таблица. Я обновил свой вопрос. Я нашел сокращение –