CSV文件很简单,如下所示:
CREATE TABLE public."csTest"
(
idname character varying(200) COLLATE pg_catalog."default" NOT NULL DEFAULT nextval('seqtest'::regclass),
channel0 double precision,
channel1 double precision,
channel2 double precision,
channel3 double precision,
channel4 double precision,
CONSTRAINT "csTest_pkey" PRIMARY KEY (idname)
);
表格如下:
COPY public."csTest" FROM '/file/on/server.csv' DELIMITER ',' CSV;
查询如下所示:
conn = psycopg2.connect(
"host="+host+" port="+port+" dbname="+dbname+
" user="+user+" password="+password+""
)
cur = conn.cursor()
cur.execute(query)
conn.commit()
conn.close()
所有这一切都是用简单的python脚本完成的,查询是失败的,我不知道为什么。但是,以防万一,这里是python代码,为了您的方便。
Controller:
public ActionResult Index()
{
List<Student> ob = new List<Student>()
{
new Student{ id=1, Name="x"},
new Student{ id=2, Name="y"},
};
return View(ob);
}
Index:
@model List<WebApplication15.Controllers.Student>
@{
ViewBag.Title = "Index";
}
@Html.Partial("Name",Model.OrderByDescending(x=>x.id))
<h2>Index</h2>
Partial View:
@model IEnumerable<WebApplication15.Controllers.Student>
@foreach (var student in Model)
{
<li>@student.id</li>
<li>@student.Name</li>
}
错误消息:psycopg2.DataError:类型为numeric的输入语法无效: “CHANNEL0”
我错过了什么?
提前致谢。
答案 0 :(得分:1)
COPY public."csTest" FROM '/file/on/server.csv' DELIMITER ',' CSV HEADER;
应该这样做,因为它将第一行作为数据读取,而不是作为列名称,如果你没有指定它
<强>更新强>
我还预测numeric(10,10)
和您的数据存在问题 - 也许您的意思是numeric (20,10)
或类似的?... numeric(10,10)
会接受0-0.9999999999范围