![](/img/trans.png)
[英]Open a file from OS module in python [on linux, Ubuntu 20.04]
[英]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));
接下來我使用 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.