我有一个存储在cursor.rows中的行的结果集,这些行是从pyodbc.cursor.execute命令返回的.解压缩此数据并将其放入逗号分隔字符串列表(或解压缩到自定义对象)的最快方法是什么?
目前我正在做以下事情:
cursor.execute(query_str)
f = open(out_file, 'w')
for row in cursor:
f.write(','.join([str(s) for s in row]))
f.write('\n')
Run Code Online (Sandbox Code Playgroud)
这需要每行130毫秒,这似乎是一个非常昂贵的操作.我怎样才能加快速度呢?
我使用的是Python 2.6,Excel 2007 Professional和最新版本的PyXLL.在PyXLL中加载模块时
import scipy
Run Code Online (Sandbox Code Playgroud)
抛出异常并且未加载模块.有没有人能够在PyXLL中加载Scipy?这可能是版本问题吗?抛出的异常是:
2010-12-21 17:21:30,915 - ERROR : Error importing 'options': DLL load failed: A dynamic link library (DLL) initialization routine failed.
2010-12-21 17:21:30,915 - ERROR : Traceback (most recent call last):
2010-12-21 17:21:30,915 - ERROR : File "pyxll", line 402, in _open
2010-12-21 17:21:30,915 - ERROR : File "C:\Dev\libs\pyxll\examples\options.py", line 15, in <module>
2010-12-21 17:21:30,915 - ERROR : import scipy
2010-12-21 17:21:30,915 - ERROR : File "C:\Python26\lib\site-packages\scipy\__init__.py", line 78, in <module>
2010-12-21 17:21:30,915 - ERROR …Run Code Online (Sandbox Code Playgroud) string src = "portfolio1, portfolio2, portfolio20, portfolio300";
Run Code Online (Sandbox Code Playgroud)
我想匹配模式@"portfolio\d"的所有字符串,其中\ d可以是1-3位数的任意长度.我已经读过使用{a,b}应该有效,所以我尝试过:
pattern = @"portfolio\d{1, 3}"
Run Code Online (Sandbox Code Playgroud)
在字符串src中搜索此模式返回一个空集.以下模式部分起作用:
pattern = @"portfolio\d"
pattern = @"portfolio\d{1}"
Run Code Online (Sandbox Code Playgroud)