我有这个过程,必须使用pl/pgsql进行一系列查询:
--process:
SELECT function1();
SELECT function2();
SELECT function3();
SELECT function4();
Run Code Online (Sandbox Code Playgroud)
为了能够在一次调用中执行所有操作,我创建了一个过程函数:
CREATE OR REPLACE FUNCTION process()
RETURNS text AS
$BODY$
BEGIN
PERFORM function1();
PERFORM function2();
PERFORM function3();
PERFORM function4();
RETURN 'process ended';
END;
$BODY$
LANGUAGE plpgsql
Run Code Online (Sandbox Code Playgroud)
问题是,当我总结每个函数自身所用的时间时,总计为200秒,而函数所process()
用的时间超过一个小时!
也许这是一个内存问题,但我不知道postgresql.conf
应该改变哪种配置.
DB在Debian 8中的PostgreSQL 9.4上运行.
postgresql plpgsql database-performance query-performance postgresql-performance
使用此代码,我首先打印所有使用文本文件中使用的最常用单词排序的元素.但是我如何打印前十个元素?
with open("something.txt") as f:
words = Counter(f.read().split())
print(words)
Run Code Online (Sandbox Code Playgroud) 我在使用Python 2.7.9的Debian GNU / Linux计算机上。
作为我工作的一部分,我一直在制作python脚本,以各种格式(例如Excel,Csv,Txt)读取输入,并将信息解析为更标准的文件。这不是我第一次打开或使用Excel文件。
有一个特定的文件给我带来了问题,我只是无法打开它。当我尝试使用xlrd(版本0.9.3)时,它给了我以下错误:
xlrd.open_workbook('sample.xls')
Run Code Online (Sandbox Code Playgroud)
XLRDError:不支持的格式或损坏的文件:BOF不是工作簿/工作表:op = 0x0009 vers = 0x0002 strm = 0x000a build = 0 year = 0-> BIFF21
我试图独自调查此事,在StackOverflow中找到了两个答案,但无论如何我都无法打开它。我发现的这个特定答案可能是问题所在(第二个解释),但其中不包含解决方法:https : //stackoverflow.com/a/16518707/4345659
可以将文件转换为csv / txt的工具也可以解决该问题。
我已经尝试过:
此处提供示例文件:https : //ufile.io/r4m6j
作为附带说明,我可以使用LibreOffice Calc和MS Excel打开它,因此最终可以通过这种方式将其更改为csv。问题是,我需要使用python脚本来完成所有操作。
提前致谢!
我有一个很大的客户端 csv 文件,并通过 url 共享下载,我想逐行或按字节下载它,我只想限制 10 个条目。
我有以下代码将下载文件,但我想在这里只下载文件中的前 10 个条目,我不想要完整的文件。
#!/usr/bin/env python
import requests
from contextlib import closing
import csv
url = "https://example.com.au/catalog/food-catalog.csv"
with closing(requests.get(url, stream=True)) as r:
f = (line.decode('utf-8') for line in r.iter_lines())
reader = csv.reader(f, delimiter=',', quotechar='"')
for row in reader:
print(row)
Run Code Online (Sandbox Code Playgroud)
我不太了解contextlib
,它将如何with
在 Python 中使用。
任何人都可以在这里帮助我,这真的很有帮助,并提前致谢。
编辑格式:
这是原始代码
from __future__ import print_function
import socket
import sys
def socket_accept():
conn, address = s.accept()
print("Connection has been established | " + "IP " + address[0] + "| Port " + str(address[1]))
send_commands(conn)
conn.close()
def send_commands(conn):
while True:
cmd = raw_input()
if cmd == 'quit':
conn.close()
s.close()
sys.exit()
if len(str.encode(cmd)) > 0:
conn.send(str.encode(cmd))
client_response = str(conn.recv(1024), "utf-8")
print(client_response, end ="")
def main():
socket_accept()
main()
Run Code Online (Sandbox Code Playgroud)
我收到此错误"TypeError:str()最多需要1个参数(2个给定)"at"client_response"变量
给定一个带有整数的元组内部的元组,我想找到哪个数字在元组内最接近我输入的数字:
Data = (('Batik Air',int(561)),('Citilink',int(620)),('Garuda Indonesia',int(1501))
Value=500
findClosest(Data,Value)
# magic
('Batik Air',561)
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
我想分享一种从 GitHub 漂亮地打印 markdown (*.md) 文件的简单方法。
我发现了很多有趣的方法,主要是在这个问题上。但它们都没有更新和工作,或者我正在寻找什么(一种简单而舒适的漂亮打印方式)。基于几个答案,我设法自己制定了一个可行的解决方案。
也欢迎任何其他解决方案。
python ×5
python-2.7 ×2
python-3.x ×2
counter ×1
csv ×1
github ×1
integer ×1
markdown ×1
plpgsql ×1
postgresql ×1
pretty-print ×1
sockets ×1
sorting ×1
tuples ×1
websocket ×1
xlrd ×1