簡體   English   中英

嘗試將 CSV 文件導入 Linux(Ubuntu 20.04)上 Postgres 中的數據庫

[英]Trying to import a CSV file into a database in Postgres on Linux(Ubuntu 20.04)

使用 Linux 命令 df -Ph > metric.csv 創建此 output:

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           786M  2.2M  783M   1% /run'''

我登錄到 postgres 並創建表:

CREATE TABLE metric(filesystem varchar,size varchar,used 
    varchar,available varchar,use varchar,mounted_on varchar, PRIMARY 
    KEY(filesystem));

DDL

接下來我使用 COPY 命令將數據插入到該表中:

COPY metrics (filesystem,size,used,available,use,mounted_on) FROM '/data/metric.csv' CSV HEADER DELIMITER ',';

我收到以下錯誤:

ERROR:  missing data for column "size"
CONTEXT:  COPY metrics, line 2: "udev            3.9G     0  3.9G   0% /dev"

我將不勝感激有關如何更正此問題的任何幫助或建議,以便我可以將數據插入數據庫。

你可能想試試這個:

df -Ph | awk 'BEGIN{OFS=","}NR>1{$1=$1; print}' > metric.csv 

正如我在上面的評論中提到的,您的 csv 文件不是 csv。 awk 命令去掉了“標題”(我假設您不想在表中攝取)並用逗號替換空格

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM