小编Mor*_*ort的帖子

复制 csv postgres 忽略违反约束的行

我有一个包含约 300,000 行的 .csv 文件,其中一些违反了我在 postgres 数据库中设置的某些约束。有没有办法将我的 .csv 文件复制到数据库中并让 postgres 过滤掉违反约束的行?我不希望这些行显示在数据库中。

如果这是不可能的,有没有其他方法可以解决这个问题?

我现在正在做的是

COPY blocksequences from '/tmp/blocksequences.csv CSV HEADER;
Run Code Online (Sandbox Code Playgroud)

我得到

'ERROR:  new row for relation "blocksequences" violates check constraint "blocksequences_partid3_check"
DETAIL:  Failing row contains (M001-M049-S186, M001, null, M049, S186).
CONTEXT:  COPY blocksequences, line 680: "M001-M049-S186,M001,,M049,S186"
Run Code Online (Sandbox Code Playgroud)

错误原因:包含 M049 的列不允许输入该字符串。许多其他行都有这样的违规行为。

我读了一点关于exception when check violation --do nothing我在这里是否走在正确的轨道上?似乎这只是一个 mysql 的事情也许

csv postgresql copy

8
推荐指数
1
解决办法
3358
查看次数

VSCode:如何通过 ssh 远程连接到远程 WSL2

是否可以在 VSCode 中编辑远程PC 的WSL2 中的文件。(这就像 Remote-WSL 和 Remote-SSH 的组合。)我可以通过 ssh 和 RDP 连接到那台远程 PC。

该路径\\wsl$\在我的远程 ssh 连接中似乎不可用。

PCA - me, local, VSCode
^
|
ssh and/or RDP
|
V
PCB - remote, WSL2
Run Code Online (Sandbox Code Playgroud)

(我目前在远程 PC 上设置了 Windows OpenSSH,使用默认的 CMD shell。我尝试将 shell 设置为 Bash,但随后无法安装远程扩展。)

更新设置 PC-B 的 ssh 服务器外壳bash.exe 确实解决了我的所有问题。我不确定为什么它以前不起作用。有关更多详细信息,请参阅下面我的回答。

visual-studio-code

6
推荐指数
2
解决办法
2743
查看次数

paraview:加载共享库时出错:libQt5Core.so.5:无法打开共享对象文件:没有这样的文件或目录

我在 Ubuntu 上安装了 OpenFOAM(它本身位于 Linux 的 WSL Windows 子系统上)。我在尝试启动时遇到问题paraFoam,出现以下错误:

Invalid $PV_PLUGIN_PATH and -plugin-path= not defined
No supplementary ParaView/OpenFOAM reader modules
Using builtin reader: paraFoam -vtk

paraview: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

它似乎来自 paraview 或 Qt,但我不知道该怎么做。该文件libQt5Core.so.5确实存在于计算机中

当我打字时qmake --version我有

QMake version 3.1
Using Qt version 5.12.8 in /usr/lib/x86_64-linux-gnu
Run Code Online (Sandbox Code Playgroud)

paraview openfoam

5
推荐指数
1
解决办法
1万
查看次数

CSVPrinter 仅删除标题中的引号

当值被引用时,我需要在模式下使用 Apache 公共资源中的 CSVPrinter,但标头不是。看起来报价模式是唯一的选项,影响标题和值。这个可以独立完成吗?

CSVFormat format = CSVFormat.DEFAULT.withHeader(new String(){"a", "b"})
                .withQuoteMode(QuoteMode.ALL);
CSVPrinter printer = new CSVPrinter(new FileWriter(new File("out.csv")), format);
printer.printRecord("a val", "b val");
printer.printRecord("1", "2");
printer.flush();
printer.close();
Run Code Online (Sandbox Code Playgroud)

给出:

"a", "b"
"a val", "b val"
"1", "2"
Run Code Online (Sandbox Code Playgroud)

但要求是这样的:

a,b
"a val", "b val"
"1", "2"
Run Code Online (Sandbox Code Playgroud)

java csv apache-commons

3
推荐指数
1
解决办法
1525
查看次数

Git clone - 创建一个带有远程跟踪分支的裸克隆(用于工作树“主”存储库)

为了与工作树一起使用,我正在尝试制作一个裸克隆,但是远程分支映射到远程跟踪分支。

我正在尝试建立一个通用的工作树工作流程。我的 repo 真的很大,所以克隆它很昂贵。即使使用硬链接,随着 repos 被gc编辑,它们往往会随着时间的推移而发散并占用额外的空间,并且在一个 repo 中获取对另一个 repo 没有帮助,因此在工作树中工作似乎是显而易见的事情。(你必须相信我。)

工作树需要一个实际保存对象的“主”存储库。显然,该克隆不能被删除,所以我想把它放在像/var/cache/git/reponame.wt.git. (我正在为我和我的同事制定一个通用的解决方案,所以我必须使它相当万无一失。)

可以让它成为一个普通的克隆,但是它必须有一个分支检出,然后该分支不能被任何其他工作树检出,所以我必须制作一个wt_dummy可能混淆人们的虚拟分支(例如)。我真正想做的是使主要回购成为bare回购。

问题是git clone --bare不创建远程跟踪分支。所以为了制作一个“裸回购但带有远程跟踪分支”,我已经开始走这条路

git clone --bare <remote> repo.tmp
mv repo.tmp.git reponame.wt.git
cd reponame.wt.git
git config core.bare true
git config --remove-section branch.master
... and I'm not quite there yet ...
Run Code Online (Sandbox Code Playgroud)

但是 a) 看起来太长太复杂了,并且 b) git 存储库仍然认为它已经master检出。

有没有更好的方法来制作这个“带遥控器的裸机”?

(也许总体上有更好的方法来设置工作树,但我知道这处于堆栈溢出的“特定编程解决方案”范围的毛茸茸的边缘。)

git git-worktree

2
推荐指数
1
解决办法
727
查看次数

初始化给定长度的空哈希数组 - 单行

我想预先初始化哈希数组的元素,以便在填写数据时,我不需要检查是否存在各种成员并在每个循环中初始化它们.如果可以的话,我想预先初始化数据结构的一般形式,它应该是这样的:

$num_sections = 4;
# Some magic to initialize $VAR1 to this:
$VAR1 = {
          'sections' => [
                          {},
                          {},
                          {},
                          {}
                        ]
        };
Run Code Online (Sandbox Code Playgroud)

我想这个工作,

$ph->{sections} ||= [({} x $num_sections )];

但它导致了

$VAR1 = {
          'sections' => 'HASH(0x21b6110)HASH(0x21b6110)HASH(0x21b6110)HASH(0x21b6110)'
        };
Run Code Online (Sandbox Code Playgroud)

并且没有使用()列表上下文和{}空哈希引用的数量似乎使其工作.

这可行,但它不是一个单行

unless ($ph->{sections})
{
    push @{ $ph->{sections}}, {} foreach (1..$num_sections);
}
Run Code Online (Sandbox Code Playgroud)

我可以使用一些perl魔法来添加unless到最后,但我还没有弄明白.

我觉得我太近了,但我真的不能理解.

更新 Oleg指出这可能根本没有必要.见下面的评论.

perl

2
推荐指数
1
解决办法
46
查看次数

如何将字符串写入 numpy 数组?

我有两个属于一个人的属性年龄(浮点)和姓名(字符串)。我想将它们写入csv文件,因此,我使用numpy来存储数据,然后将其写入csv。

import numpy as np
import random
age_name = np.empty((2, 10))
print (age_name.shape)
for i in range (10):
    age = random.randint(0,100)
    name =  'ABC'
    age_name[0,i]=age
    age_name[1,i]=name
print (age_name)
Run Code Online (Sandbox Code Playgroud)

我收到错误

回溯(最近一次调用最后一次):文件“python”,第 9 行,在 ValueError:无法将字符串转换为浮点数:'ABC'

这可能不是一个好的选择,因为数据既有字符串又有浮点数,你能给我建议一种可以轻松存储到 csv 文件的好方法吗?

python csv numpy python-3.x

1
推荐指数
1
解决办法
2100
查看次数

如何解决此错误:TypeError: this.state is not a function

我无法解决这个问题,我该如何解决这个问题?

import React, { Component } from "react";
import "./Main.css";
import { FaSearch, FaEdit, FaWindowClose } from "react-icons/fa";

export default class Main extends Component {
  state = {
    pesquisaNFE: "",
    resultado: [],
  };

  handleSubmit = (e) => {
    e.preventDefault();
    const { resultado } = this.state;
    let { pesquisaNFE } = this.state;
    pesquisaNFE = pesquisaNFE.trim();

    if (resultado.indexOf(pesquisaNFE) !== -1) return;

    const newSearch = [...resultado];

    this.state({
      resultado: [...newSearch, pesquisaNFE],
    });
  };
Run Code Online (Sandbox Code Playgroud)

错误:

在此输入图像描述

javascript reactjs

0
推荐指数
1
解决办法
573
查看次数