小编Jon*_*nts的帖子

Fetchall在Python中只返回一列?

我有一个像这样的代码:

db = MySQLdb.connect(user='root', db='galaxy', passwd='devil', host='localhost')
cursor = db.cursor()
cursor.execute('SELECT username, password FROM galaxy_user')
names = [row[0] for row in cursor.fetchall()]
passw = [password[1] for password in cursor.fetchall()]
db.close()
Run Code Online (Sandbox Code Playgroud)

问题是我只能从以下代码访问名称或密码.有了这个,我只能得到用户名.我得到了passw的空列表.现在,如果我切换它:

passw = [row[1] for row in cursor.fetchall()]
names = [password[1] for password in cursor.fetchall()
Run Code Online (Sandbox Code Playgroud)

我得到了passw的值,但名字是空列表.发生了什么?

python mysql-python

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

用numpy插入一个角度的旋转

我有一个

x = ..
y = ..
p = np.matrix([[x],[y]])
Run Code Online (Sandbox Code Playgroud)

并且我希望以d度为增量围绕原点旋转该点以获得N = 360/d点.例如,我想象以下功能.

points = interpolate360(d, p)
Run Code Online (Sandbox Code Playgroud)

点的形状应为(2,N)

我可以在循环中使用新的旋转矩阵为每个旋转执行代码,然后连接结果但我希望使用某种矢量化解决方案.

python optimization numpy rotation

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

Python:httplib getresponse发出许多recv()调用

getresponserecv在读取HTML请求的标头时发出许多调用。实际上recv,它为每个字节发出,导致许多系统调用。如何进行优化?

我在具有strace dump的Ubuntu计算机上进行了验证。

样例代码:

conn = httplib.HTTPConnection("www.python.org")
conn.request("HEAD", "/index.html")
r1 = conn.getresponse()
Run Code Online (Sandbox Code Playgroud)

strace转储:

sendto(3, "HEAD /index.html HTTP/1.1\r\nHost:"..., 78, 0, NULL, 0) = 78
recvfrom(3, "H", 1, 0, NULL, NULL)      = 1
recvfrom(3, "T", 1, 0, NULL, NULL)      = 1
recvfrom(3, "T", 1, 0, NULL, NULL)      = 1
recvfrom(3, "P", 1, 0, NULL, NULL)      = 1
recvfrom(3, "/", 1, 0, NULL, NULL)      = 1
...
Run Code Online (Sandbox Code Playgroud)

python httplib python-2.7

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

从excel文件中读取缓存的外部字段,结果与我在excel中看到的结果不同

我试图在python3中使用xlrd读取excel文件,但是我没有从读取单元格得到结果,因为我在excel中看到它们.

我试图访问的单元格似乎有一些外部源集,从中刷新它们,但由于该源不可用,excel会显示一些缓存值.这些值位于同一个excel文件中的其他位置,因此当您在工作表中看到例如"2.65111"时,单元格的实际内容在excel的此编辑栏中显示为"= BC12".

当我尝试通过xlrd读取此内容时:

wb=xlrd.open_workbook("filename.xls",formatting_info=True)
wb.sheet_by_name("sheetname").cell(12,9)
Run Code Online (Sandbox Code Playgroud)

单元格内容显示为:

'text:'[XXXX]' (XF:95)'
Run Code Online (Sandbox Code Playgroud)

(其中XXXX很可能是此外部.csv文件的列的名称)

我要么期望xlrd返回我在excel中看到的"2.65111",或者至少将"= BC12"作为对其他单元格的引用,但我不能以任何方式使用"[XXXXX]"的东西.

有没有办法让xlrd显示这两个中的任何一个?

我真的很困惑它来自哪里"[XXXXX]",以及为什么这与我在excel中看到的如此不同.

PS:我不能只使用BC12单元格中的数据,因为这应该是文件的自动处理,只有"原始"单元格具有固定位置,而其他单元格可能在第二天处于另一个随机位置.

python excel xlrd python-3.x

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

有没有办法找到两个相邻的新行是否以某些单词开头?

说我有这样的文件:

+jaklfjdskalfjkdsaj
fkldsjafkljdkaljfsd
-jslakflkdsalfkdls;
+sdjafkdjsakfjdskal
Run Code Online (Sandbox Code Playgroud)

我只想查找并计算在此文件中开始-的行后面紧跟一行开头的次数+.

规则:

  • 没有外部脚本
  • 必须在bash脚本中完成
  • 必须是内联的

例如,我可以弄清楚如何在Python脚本中执行此操作,但我从来没有在Bash中做过这么广泛的事情.

任何人都可以帮我吗?我认为它最终会成为grep,perl或者也许是一个有才能的sed线 - 但这些是我仍在学习的东西.

谢谢你们!

bash perl grep sed

5
推荐指数
2
解决办法
365
查看次数

分数模块中__new__

我一直在努力理解__new__和元编程.所以我看看官方的python源代码.

http://hg.python.org/cpython/file/2.7/Lib/fractions.py

它们__new__对Fractions 的功能如下:

class Fraction(Rational):

    def __new__(cls, numerator=0, denominator=None):
        """Constructs a Fraction. ...        """

        self = super(Fraction, cls).__new__(cls)
        ...

        if isinstance(numerator, float):
                # Exact conversion from float
                value = Fraction.from_float(numerator)
                self._numerator = value._numerator
                self._denominator = value._denominator
                return self

    @classmethod
    def from_float(cls, f):
        """Converts a finite float to a rational number, exactly. ..."""
        # ...
        return cls(*f.as_integer_ratio())
Run Code Online (Sandbox Code Playgroud)

为什么他们return self,而不是

return Fraction.from_float(numerator)
Run Code Online (Sandbox Code Playgroud)

我以为我明白了,但现在我很困惑.

(编辑)

为了支持子类化,改变它会有什么不同

return cls.from_float(numerator)
Run Code Online (Sandbox Code Playgroud)

python metaprogramming

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

两个按钮,用Jquery做两件不同的事情

所以我觉得我已经接近尾声了,我现在必须添加这个系列.正如你所看到的,我有两个底部,它说搜索电影和搜索系列我的网站

这意味着我已经让电影工作得很好,现在我离开了这个系列.现在的问题是我真的不知道怎么做,所以Javascript知道系列按钮是打开的,然后它应该采用我的API并按原样提供信息.我已经完成了我的电影JS,就像这样:

function callAjax(input) 
{ 
var url = "http://localhost:1337/search/" + input; 

$.ajax({ 
 type:'GET', 
 url: url, 
 success: function(data){ 


    if(data) {

       console.log('SUCCESS'); 
       $('#title').html("Title: " + data.title);
       $('#release').html("Release: " + data.release);
       $('#vote').html("Vote: " + data.vote);
       $('#overview').html("Overview: " + data.overview);
       $('#poster').html('<img src="' + data.poster + '" width=250     height=450 />'); 
       $('#trailer').html("Trailer: <iframe width='420' height='315' src='https://www.youtube.com/embed/" + data.trailer + "' frameborder='0' allowfullscreen>");


    $("#lblerror").addClass("hide");

            } else {
                $("#lblerror").text("No movies were found!");
                $("#lblerror").removeClass("hide");

            }
},
 error: function(request, status, err){ 
    console.log('ERROR'); 
 } 
}); 
} 


$(document).ready(function(){ 

$('#submitButton').on('click', function(e){ 
e.preventDefault(); 

var …
Run Code Online (Sandbox Code Playgroud)

html javascript css ajax jquery

5
推荐指数
0
解决办法
556
查看次数

如何使用javascript拖放

我在javascript(拖放)中遇到问题.

// I drag: <div id = "name">Name</div>     
   
<div class="color">white</div>
<div class="color">black</div>    
<div class="color">pink</div>    
//And drop here:
<div class="color">yellow</div>
<div class="color">green</div>
<div class="color">red</div>

//result:
<div class="color">white</div>
<div class="color">black</div>
<div class="color">pink</div>
<div id="name">
<div class="color">yellow</div>
<div class="color">green</div>
<div class="color">red</div>
</div>
 
//continue drag:<div id = "name">Name</div> other and drop above: <div class="color">green</div>
 
<div class="color">white</div>
<div class="color">black</div>
<div class="color">pink</div>
<div id="name">
<div class="color">yellow</div>
</div>
<div id ="name">
<div class="color">green</div>
<div class="color">red</div>
</div>
Run Code Online (Sandbox Code Playgroud)

如何使用javascript拖放.只有javascript.请帮我提问或示例代码!谢谢你们!


我用这种方式编码,例如:

function addDrag(obj,kind){
addEvent(obj, 'dragstart', function (e) {
    dragSrcEl = …
Run Code Online (Sandbox Code Playgroud)

html javascript

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

在重塑时使用python ravel与transpose

我有一个二维数组v,v.shape=(M_1,M_2),我要重塑成一个三维阵列v.shape=(M_2,N_1,N_2),和M_1=N_1*N_2.

我想出了以下几行产生相同的结果:

np.reshape(v.T, reshape_tuple)
Run Code Online (Sandbox Code Playgroud)

np.reshape(v.ravel(order='F'), reshape_tuple)
Run Code Online (Sandbox Code Playgroud)

reshape_tuple=(M_2,N_1,N_2).

如果原始v是一个巨大的(可能是复数值的)矩阵,哪一个在计算上更好,在什么意义上(comp时间,内存等)?

我的猜测是使用转置更好,但如果reshape是自动ravel然后ravel-option reshape可能更快(虽然可能ravel在C或Fortran中做,然后它不清楚)?

python numpy reshape

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

动态窗口上的滚动总和

我是 python 新手,上次编码是在 80 年代中期,所以我感谢您的耐心帮助。

看来 .rolling(window) 要求窗口是固定整数。我需要一个滚动窗口,其中窗口或回溯期是动态的并由另一列给出。

在下表中,我查找 Lookbacksum,它是 Lookback 列指定的数据的滚动总和。

d={'Data':[1,1,1,2,3,2,3,2,1,2],
   'Lookback':[0,1,2,2,1,3,3,2,3,1],
   'LookbackSum':[1,2,3,4,5,8,10,7,8,3]}
df=pd.DataFrame(data=d)
Run Code Online (Sandbox Code Playgroud)

例如:

   Data  Lookback  LookbackSum
0     1         0            1
1     1         1            2
2     1         2            3
3     2         2            4
4     3         1            5
5     2         3            8
6     3         3           10
7     2         2            7
8     1         3            8
9     2         1            3
Run Code Online (Sandbox Code Playgroud)

python pandas

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