小编Tri*_*ard的帖子

Python间距和对齐字符串

我试图添加间距来对齐两个字符串变量之间的文本,而不使用""这样做

尝试使文本看起来像这样,第二列对齐.

Location: 10-10-10-10       Revision: 1
District: Tower             Date: May 16, 2012
User: LOD                   Time: 10:15
Run Code Online (Sandbox Code Playgroud)

目前它有这样编码,只是使用空格...

"Location: " + Location + "               Revision: " + Revision + '\n'
Run Code Online (Sandbox Code Playgroud)

我尝试使用string.rjust和srting.ljust,但无济于事.

建议?

python string alignment

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

过滤多索引Python Panda数据帧中的多个项目

我有下表:

注意:NSRCODE和PBL_AWI都是索引

注意:%of area列将被填写,但尚未完成.

NSRCODE  PBL_AWI          Area           % Of Area
CM       BONS             44705.492941
         BTNN            253854.591990
         FONG             41625.590370
         FONS             16814.159680
         Lake             57124.819333
         River             1603.906642
         SONS            583958.444751
         STNN             45603.837177
         clearcut        106139.013930
         disturbed       127719.865675
         lowland         118795.578059
         upland         2701289.270193
LBH      BFNN            289207.169650
         BONS           9140084.716743
         BTNI             33713.160390
         BTNN          19748004.789040
         FONG           1687122.469691
         FONS           5169959.591270
         FTNI            317251.976160
         FTNN           6536472.869395
         Lake            258046.508310
         River            44262.807900
         SONS           4379097.677405
         burn regen      744773.210860
         clearcut         54066.756790
         disturbed       597561.471686
         lowland       12591619.141842
         upland        23843453.638117
Run Code Online (Sandbox Code Playgroud)

如何过滤掉"PBL_AWI"索引中的项目?例如,我想保留['Lake','River','Upland']

python indexing filter pandas

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

如何在Python中处理长SQL语句字符串

我正在尝试使用python从SQL数据库获取信息

当SQL语句很简单时,我能够连接和检索数据

#cursor.execute("SELECT * FROM Client WHERE UsesTimesheet = 1 ORDER BY ClientName")
Run Code Online (Sandbox Code Playgroud)

但是,当我转到更复杂的语句时,我得到如下所示的错误

Traceback (most recent call last):
 File "F:\Python\Test - AutoCad.py", line 30, in <module>
where jobnum = 1205992")
File "C:\Python26\ArcGIS10.0\lib\site-packages\pymssql.py", line 196, in execute
raise OperationalError, e[0]
OperationalError: SQL Server message 102, severity 15, state 1, line 1:
Incorrect syntax near 'jobnum'.
Run Code Online (Sandbox Code Playgroud)

当我使用Microsoft SQL 2008客户端但不在python中时,此语句有效.

我做错了什么?对于复杂的语句,我应该使用SQLAlchemy吗?

http://www.sqlalchemy.org/

目前的代码如下

import pymssql
import _mssql
import sys

# Connect to db using Windows Integrated Authentication.
conn = _mssql.connect(server='000.000.0.0', database='Mydb', trusted=True) …
Run Code Online (Sandbox Code Playgroud)

python sql

14
推荐指数
2
解决办法
2万
查看次数

Python Pandas如果B列中的值=等于[X,Y,Z],则用"T"替换A列

说我有这个数组:

A, B
1, G
2, X
3, F
4, Z
5, I
Run Code Online (Sandbox Code Playgroud)

如果B列等于[X,Y或Z],则用值"T"替换A列

我已经找到了如何更改同一列中的值但不能跨越,任何帮助都将是最受欢迎的.

python comparison multiple-columns pandas

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

将Python pandas数据框中的每个数字舍入2位小数

这可行,p_table.apply(pd.Series.round)但它没有小数位

文档说

import pandas as pd

Series.round(decimals=0, out=None)
Run Code Online (Sandbox Code Playgroud)

我试过这个,p_table.apply(pd.Series.round(2))但得到这个错误:

unbound method round() must be called with Series instance as first argument (got int instance instead)
Run Code Online (Sandbox Code Playgroud)

如何将数据框中的所有元素舍入到两位小数?

[编辑]想出来了.

import numpy as np
np.round(p_table, decimals=2)
Run Code Online (Sandbox Code Playgroud)

python rounding pandas

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

Python:如果找不到文件,请尝试查找不同的文件名

问题:

我有代码查找文件并打开它.默认情况下,它会查找以#######(每个#为数字)开头的文件.

问题有时是文件名##-#####和其他时间#####.

我想要一种方法,如果找不到文件尝试寻找文件可以写入的另外两种方式.

找不到文件时发生IOError异常.我在想的是有一个除了声明说:

except File2:
    Look for ##### in  myfindFileFunction()
    if file is still not found run except File3
except File3:
    Look for ##-#### in myfindFileFuction()
except:
    print "File not found"
Run Code Online (Sandbox Code Playgroud)

我不确定如何设置自定义异常以这种方式工作,和/或如果有一个更pythonic的方式完全这样做...

设置一个模式或三个可能的文件名并迭代思考,直到找到文件更好?

python file

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

Python重新找到下划线和ext之间的字符串

我有以下字符串

"1206292WS_R0_ws.shp"
Run Code Online (Sandbox Code Playgroud)

我正在尝试重新显示所有内容,除了第二个“ _”和“ .shp”之间的内容

在这种情况下,输出将为“ ws”。

我已经设法删除了.shp,但是对我而言,我一生都无法弄清楚如何消除“ _”之前的所有内容

epass = "1206292WS_R0_ws.shp"

regex = re.compile(r"(\.shp$)")

x = re.sub(regex, "", epass)
Run Code Online (Sandbox Code Playgroud)

产出

1206292WS_R0_ws
Run Code Online (Sandbox Code Playgroud)

所需的输出:

ws
Run Code Online (Sandbox Code Playgroud)

python regex

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

Python 关闭 Shell 且不弹出窗口

我正在寻找退出 python shell 而不需要 Kill 的方法?弹出窗口

print ("Hello")
print ("Press any key to exit")
ex = raw_input ("")
exit
Run Code Online (Sandbox Code Playgroud)

我说的是 Windows 的 python shell,而不是命令提示符。

这是我想在用户按下任意键后忽略并关闭程序的弹出窗口。

在此输入图像描述

python

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

如何从多个PDF文件中删除第一页

我有一个PDF集合,有时会有一个我要删除的文档第一页的信息页面.

如果有一种快速的方法可以从我的所有pdf中删除这个信息页面,或者至少可以显示所有包含多个页面的pdf,那么我可以更好地找到需要修复的那些页面?

你知道任何可以做到这一点的程序吗?或者用python做到这一点的方法?

注意:信息页面上有文字,它始终保持相同的"LAND TITLE OFFICE"

使用Windows 7操作系统

谢谢

一些研究发现如下:

http://www.python.org/workshops/2002-02/papers/17/index.htm

http://www.unixuser.org/~euske/python/pdfminer/index.html

http://pybrary.net/pyPdf/pythondoc-pyPdf.pdf.html#pyPdf.pdf.PdfFileWriter-class

pdf

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

找到重复的文件名,只使用python保存最新的文件

我有+20 000个文件,如下所示,都在同一个目录中:

8003825.pdf
8003825.tif
8006826.tif
Run Code Online (Sandbox Code Playgroud)

如何找到所有重复的文件名,同时忽略文件扩展名.

澄清:我将副本称为具有相同文件名的文件,同时忽略文件扩展名.我关心,如果该文件是不是100%相同(例如,HASHSIZE或类似的东西)

例如:

"8003825" appears twice
Run Code Online (Sandbox Code Playgroud)

然后查看每个重复文件的元数据,只保留最新的文件.

与此帖相似:

保留最新文件并删除所有其他文件

我想我必须创建所有文件的列表,检查文件是否已存在.如果是,那么使用os.stat来确定修改日期?

我有点担心将所有这些文件名加载到内存中.并且想知道是否有更多的pythonic做事方式......

Python 2.6 Windows 7

python list duplicates

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