使用 CentOS 7 上的 PostgreSQL 9.5,我创建了一个数据库sample以及几个表。我有每个表的.csv数据/home/MyUser/data。例如,存在TableName.csv表"TableName"。
如何将 csv 文件加载到每个表中?
我尝试过的方法不起作用,我无法弄清楚我做错了什么。
从数据库中加载
$ psql sample
sample=# COPY "TableName" FROM '/home/MyUser/data/TableName.csv' WITH CSV;
ERROR: could not open file "/home/MyUser/data/TableName.csv" for reading: Permission denied
Run Code Online (Sandbox Code Playgroud)
这意味着文件权限问题。所有的文件data/都-rw-r--r--和目录本身drwxr-xr-x。所以文件权限应该不是问题(除非我遗漏了一些东西)。网上说COPY权限有问题,可以试试\copy。
从 CLI 加载
$ psql \copy sample FROM /home/MyUser/data/TableName.csv WITH CSV
psql: warning: extra command-line argument "FROM" ignored
psql: warning: extra command-line argument "/home/MyUser/data/TableName.csv" ignored
psql: warning: extra …Run Code Online (Sandbox Code Playgroud) 如何选择在Vim中超出行尾的矩形文本块?
假设我有
aa
bbb
cc
dddd
ee
Run Code Online (Sandbox Code Playgroud)
我想选择一个矩形块,在所有行上扩展四个字符.如果_被认为是白色空间,那么我想:
aa__
bbb_
cc__
dddd
ee__
Run Code Online (Sandbox Code Playgroud)
矩形可视块C-v仅延伸到所选最后一行的末尾:
在Emacs中,我可以使用C-x <SPC>(rectangle-mark-mode)做我想做的事情.;)
SAS 中是否有用于定义数组中字母序列的简写?
许多语言都拥有一种可以轻松做到这一点的机制,我想 SAS 也是如此,尽管我找不到它的参考资料。
例如,在 RI 中可以做
> x <- letters[1:4]
> x
[1] "a" "b" "c" "d"
Run Code Online (Sandbox Code Playgroud)
在 Python 中,一种方法是
>>> import string
>>> list(string.ascii_lowercase[:4])
['a', 'b', 'c', 'd']
Run Code Online (Sandbox Code Playgroud)
在 SAS 中,我目前必须明确列出字母,
data _null_;
array letters (4) $ _temporary_ ('a', 'b', 'c', 'd');
do i = 1 to hbound(letters);
put letters(i);
end;
run;
Run Code Online (Sandbox Code Playgroud) 假设我收到了一个大查询。Postgres 给了我--More--指标。按<space>向下移动一页。按<enter>会向下移动一行。有没有办法向上滚动?是否可以将输出通过管道传输到类似的东西less?
我正在通过 PuTTY 在 CentOS7 上访问 PostgreSQL 9.5。
例如:
pundb=# \x on
pundb=# select * from pg_roles;
-[ RECORD 1 ]--+-------------
rolname | dinner
rolsuper | t
rolinherit | t
rolcreaterole | t
rolcreatedb | t
rolcanlogin | t
rolreplication | t
rolconnlimit | -1
rolpassword | ********
rolvaliduntil |
rolbypassrls | t
rolconfig |
oid | 10
-[ RECORD 2 ]--+-------------
rolname | sushi
rolsuper | f
rolinherit | t …Run Code Online (Sandbox Code Playgroud) 当小部件停靠时,我希望它改变方向并具有相对于停靠扩展方式的最小尺寸。
那是,
问题是,每当方向改变时,码头就会呈现出看似任意的宽度或高度。我无法找到一种方法来调整停靠小部件的大小/强制停靠时的特定大小。我尝试了无数种重写sizeHint、minimumSizeHint调用adjustSize和摆弄的变体sizePolicy。
如何确定初始dock大小?
我的基本应用程序如下所示:
该应用程序显示主要和次要信息以及相应的控件集。包含主要和次要内容的选项卡小部件被设置为中央小部件。包含相应仪表板中控件的 QStackedWidget 位于扩展坞中。当选项卡更改时,会显示相应的仪表板。下面的基本应用程序代码中给出了此操作的代码。
困难在于改变仪表板的方向会扰乱扩展坞的大小。
要调整仪表板方向,我能想到两个合理的解决方案:
resizeEvent或dockLocationChanged信号resizeEvent对我来说,这似乎是更好的选择。它为用户提供了最大的灵活性。如果他们不喜欢码头的方向,将其拖过特定限制将允许他们更改码头的方向。在这里我检查它的宽度是否大于高度。
class MyDock(QtWidgets.QDockWidget):
def __init__(self):
super(MyDock, self).__init__()
def resizeEvent(self, event):
size = event.size()
is_wide = size.width() > size.height()
container_object = self.widget().currentWidget()
if is_wide:
container_object.setDirection(QtWidgets.QBoxLayout.LeftToRight)
else:
container_object.setDirection(QtWidgets.QBoxLayout.TopToBottom)
Run Code Online (Sandbox Code Playgroud)
下面的调整大小方法中给出了完整的代码。
dockLocationChange由于调整大小事件始终发生,另一种方法可能是仅在停靠位置发生变化时才更改方向。为此,请将功能连接到信号dockLocationChanged并根据坞站调整方向。
class MyDock(QtWidgets.QDockWidget):
def __init__(self):
super(MyDock, self).__init__()
self.dockLocationChanged.connect(self.dock_location_changed)
def dock_location_changed(self, area):
top = …Run Code Online (Sandbox Code Playgroud) 我在Windows 10上运行Emacs 24.5.1并通过SICP.麻省理工学院的编辑Edwin功能不佳,特别是在Windows上.球拍似乎是一个很好的选择.我已经安装了球拍和球拍模式,一切似乎运行正常.但是,racket-mode坚持打印我的结果.如何让它以十进制形式打印?
例如,
(require sicp)
(define (square x) (* x x))
(define (average x y)
(/ (+ x y) 2))
(define (improve guess x)
(average guess (/ x guess)))
(define (good-enough? guess x)
(< (abs (- (square guess) x)) 0.001))
(define (sqrt-iter guess x)
(if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))
Run Code Online (Sandbox Code Playgroud)
这会产生诸如此类的结果
> (sqrt-iter 1 2)
577/408
Run Code Online (Sandbox Code Playgroud)
当谷歌使用术语"球拍"和"漂亮的印刷品"时,会出现很多文档,但我没有运气理解它.Racket文档似乎通过一些以'pretty-print'开头的变量来控制漂亮打印.然而,没有任何开始racket-或pretty内部M-x出现.也许分数形式不是Racket认为漂亮的印刷品?
我知道存在用于数据步骤DO循环的LEAVE语句以终止当前循环。但是,我找不到相应宏命令的文档。
我已经尝试过了,%LEAVE但是似乎没有定义。
%GOTO或以外,还有其他选择DATA _NULL_吗?我可以使用R提取必要的信息,但是为了在整个项目中保持一致,我希望能够使用Python(最好是Python3)做到这一点。我需要一个名为“设置”的标签的内容。此标记包含XML,然后需要对其进行解析。
在R中获取元数据非常简单:
library(exifr)
library(XML)
path = file.path('path', 'to', 'file')
x = read_exif(file.path(path,'image.png'))
x$Settings
Run Code Online (Sandbox Code Playgroud)
看起来Python无法做到这一点,这让我很困惑。或这样做需要我比目前拥有更多的Python和PNG知识。如何使用Python提取PNG元数据?
PyPng PyPNG似乎很有希望。检查每个块的长度,似乎“ Settings”标签位于zTXt块中。
import png
filename = "C:\\path\\to\\image.png"
im = png.Reader(filename)
for c in im.chunks():
print(c[0], len(c[1]))
>>>
IHDR 13
tIME 7
pHYs 9
IDAT 47775
zTXt 714
IEND 0
Run Code Online (Sandbox Code Playgroud)
以上摘自这篇文章。但是,仍不清楚如何提取zTXt数据。
hachoir3
使用该hachoir3软件包,我尝试了以下操作:
from hachoir.parser import createParser
from hachoir.metadata import extractMetadata
filename = "C:\\path\\to\\file\\image.png"
parser = createParser(filename)
metadata = extractMetadata(parser)
for line in metadata.exportPlaintext():
print(line)
Run Code Online (Sandbox Code Playgroud)
这给了我以下内容:
Metadata:
- Image width: 1024 …Run Code Online (Sandbox Code Playgroud) Python 模块、内置模块、标准模块和冻结模块有什么区别?
这些术语来自官方文档本身。
加载器文档中提到了Python 模块和内置模块:
装载机必须满足以下要求:
- 如果模块是 Python 模块(而不是内置模块或动态加载的扩展),加载器应该在模块的全局命名空间 (module.__dict__) 中执行模块的代码。
顶级组件文档中引用了标准模块:
所有内置和标准模块均可用
Frozen 模块有自己的导入器,描述为
冻结模块的进口商
尽管在官方文档和核心代码中有提及,但在词汇表、索引(B、F、M、P或S)或(显然)中没有对 Python 模块、内置模块、标准模块或冻结模块的明确定义别处。
这是我可以为内置模块提出的最佳定义:
甲内置模块是一种扩展模块,其在所列出的(即用C语言编写,Java和.NET等)
sys.builtin_module_names属性。请注意,此列表可能因 Python 解释器而异(即 Cython 的内置模块可能不是 IronPython 的内置模块等)。
我从以下来源拼凑了这个定义:
该库包含内置模块(用 C 编写)
该importlib.machinery.BuiltinImporter文档的状态,
所有已知的内置模块都列在
sys.builtin_module_names.
该sys.builtin_module_names反过来状态属性的文件,
编译到此 Python 解释器中的所有模块的名称。(此信息无法通过任何其他方式获得) …
有numpy没有安装就可以导入的方法吗?
我在.exePyInstaller中内置了一个通用应用程序。该应用程序具有一个插件系统,可通过Python脚本对其进行扩展。插件导入系统适用于基本模块(单个.py文件,类,函数和简单包)。在内部,它会遍历插件目录,然后使用__import__或相应地导入importlib.import_module。
该应用程序以最小的依赖关系构建,以减小可执行文件的整体大小。另外,不可能知道将来的插件将需要什么依赖关系,也不可能实际包含所有内容。但是,某些插件将不可避免地需要依赖项。 numpy是解决此类问题的良好测试案例。
这是我尝试过的。
轮文件实际上只是一个目录。可以将其添加到其中sys.path并导入内容。
import sys
sys.path.append(r"C:\path\to\numpy-1.16.3+mkl-cp36-cp36m-win_amd64.whl")
import numpy as np
Run Code Online (Sandbox Code Playgroud)
读取了wheel文件,但是导入生成错误。
*** ImportError:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the multiarray numpy extension module failed. Most
likely you are trying to import a failed build of numpy.
Here is how to proceed:
- If you're working with a numpy git repository, try `git clean -xdf` …Run Code Online (Sandbox Code Playgroud) python ×4
postgresql ×2
python-3.x ×2
sas ×2
emacs ×1
metadata ×1
numpy ×1
pager ×1
png ×1
pretty-print ×1
psql ×1
putty ×1
pyqt ×1
pyqt5 ×1
qdockwidget ×1
qtpy ×1
racket ×1
sas-macro ×1
vim ×1