我正在寻找使用Python将网页打印成本地文件PDF的解决方案.一个很好的解决方案是使用Qt,在这里找到,https://bharatikunal.wordpress.com/2010/01/.
它在开始时没有用,因为我遇到了安装PyQt4的问题,因为它给出了错误消息,例如'ImportError:没有名为PyQt4.QtCore的模块'和'ImportError:没有名为PyQt4.QtCore的模块'.
这是因为PyQt4安装不正确.我曾经把库放在C:\ Python27\Lib但是它不适用于PyQt4.
实际上,它只需要从http://www.riverbankcomputing.com/software/pyqt/download下载(请注意您正在使用的正确的Python版本),并将其安装到C:\ Python27(我的情况).而已.
现在脚本运行正常,所以我想分享它.有关使用Qprinter的更多选项,请参阅http://qt-project.org/doc/qt-4.8/qprinter.html#Orientation-enum.
我使用的是Python 2.7 + BeautifulSoup 4.3.2.
我正在尝试使用Python和BeautifulSoup来获取网页上的信息.由于网页在公司网站上需要登录和重定向,因此我将目标网页的源代码复制到文件中,并将其保存为C:\中的"example.html",以方便练习.
这是原始代码的一部分:
<tr class="ghj">
<td><span class="city-sh"><sh src="./citys/1.jpg" alt="boy" title="boy" /></span><a href="./membercity.php?mode=view&u=12563">port_new_cape</a></td>
<td class="position"><a href="./search.php?id=12563&sr=positions" title="Search positions">452</a></td>
<td class="details"><div>South</div></td>
<td>May 09, 1997</td>
<td>Jan 23, 2009 12:05 pm </td>
</tr>
Run Code Online (Sandbox Code Playgroud)
到目前为止我编写的代码是:
from bs4 import BeautifulSoup
import re
import urllib2
url = "C:\example.html"
page = urllib2.urlopen(url)
soup = BeautifulSoup(page.read())
cities = soup.find_all('span', {'class' : 'city-sh'})
for city in cities:
print city
Run Code Online (Sandbox Code Playgroud)
这只是测试的第一阶段,有些没有完成.
但是,当我运行它时,它会显示错误消息,使用"urllib2.urlopen"来打开本地文件似乎是不合适的.
Traceback (most recent call last):
File "C:\Python27\Testing.py", line 8, in <module>
page = urllib2.urlopen(url)
File "C:\Python27\lib\urllib2.py", …Run Code Online (Sandbox Code Playgroud) 我想知道'2014-05-06 12:00:56'和'2012-03-06 16:08:22'之间的年,月,日,小时,分钟和秒数.结果看起来像:"差异是xxx年xxx月xxx天xxx小时xxx分钟"
例如:
import datetime
a = '2014-05-06 12:00:56'
b = '2013-03-06 16:08:22'
start = datetime.datetime.strptime(a, '%Y-%m-%d %H:%M:%S')
ends = datetime.datetime.strptime(b, '%Y-%m-%d %H:%M:%S')
diff = start – ends
Run Code Online (Sandbox Code Playgroud)
如果我做:
diff.days
Run Code Online (Sandbox Code Playgroud)
它给出了天数的差异.
我还能做什么?我怎样才能达到想要的结果呢?
我试图结合2个不同的Excel文件.(感谢帖子将多个excel文件导入python pandas并将它们连接成一个数据帧)
我到目前为止的工作是:
import os
import pandas as pd
df = pd.DataFrame()
for f in ['c:\\file1.xls', 'c:\\ file2.xls']:
data = pd.read_excel(f, 'Sheet1')
df = df.append(data)
df.to_excel("c:\\all.xls")
Run Code Online (Sandbox Code Playgroud)
这是他们的样子.

但是我想:
例如:

可能吗?谢谢.
我想写一个脚本将所有'.py'文件添加到一个zip文件中.
这是我有的:
import zipfile
import os
working_folder = 'C:\\Python27\\'
files = os.listdir(working_folder)
files_py = []
for f in files:
if f[-2:] == 'py':
fff = working_folder + f
files_py.append(fff)
ZipFile = zipfile.ZipFile("zip testing.zip", "w" )
for a in files_py:
ZipFile.write(a, zipfile.ZIP_DEFLATED)
Run Code Online (Sandbox Code Playgroud)
但是它给出了一个错误:
Traceback (most recent call last):
File "C:\Python27\working.py", line 19, in <module>
ZipFile.write(str(a), zipfile.ZIP_DEFLATED)
File "C:\Python27\lib\zipfile.py", line 1121, in write
arcname = os.path.normpath(os.path.splitdrive(arcname)[1])
File "C:\Python27\lib\ntpath.py", line 125, in splitdrive
if p[1:2] == ':':
TypeError: 'int' object has no attribute …Run Code Online (Sandbox Code Playgroud) 我正在使用澳大利亚艾滋病生存数据。这次要创建散点图。
为了显示不同报告传播类别(T.categ)的存活率,我以这种方式绘制图表:
data <- read.csv("https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/MASS/Aids2.csv")
data %>%
ggplot() +
geom_jitter(aes(T.categ, sex, colour = status))
Run Code Online (Sandbox Code Playgroud)
它显示了一个图表。但是每次运行代码时,它似乎都会生成不同的图表。这是其中的 2 个组合。
代码有什么问题吗?是否正常(每个运行不同的图表)?
我想使用Python和cv2比较2个图像,如下所示.
(Python 2.7 + Windows)
C:\ Original.jpg

C:\ Edited.jpg

非常直接我可以在下面做并保存显示差异的图片:
import cv2
Original = cv2.imread("c:\\Original.jpg")
Edited = cv2.imread("c:\\Edited.jpg")
diff = cv2.subtract(Original, Edited)
cv2.imwrite("c:\\diff.jpg", diff)
Run Code Online (Sandbox Code Playgroud)
结果如下:
C:\ diff.jpg

此外,我希望根据比较的文件在图片中显示差异.换句话说,我希望有一个图片圈或标记差异,基于"Edited.jpg".可能吗?
(想一个方法可能是,识别"diff.jpg"中的可见区域,然后在"Edited.jpg"中为该区域画一个圆圈?)
需要将其拆分为多个数据帧的数据帧。每6行(自上而下)成为一个新的数据框。
下面几行工作正常,如屏幕截图所示。
import pandas as pd
data = {'ID': ["a1","a2","a3","a4","a5","a6","a7","a8","a9","a10","a11","a12","a13","a14","a15","a16","a17","a18","a19","a20","a21","a22"],
'Unit_Weight': [178,153,193,195,214,157,205,212,219,166,217,186,170,207,204,201,179,215,213,170,217,199]}
df = pd.DataFrame(data)
size = 6 # 6 rows in a new data-frame
list_of_dfs = [df.loc[i:i+size-1,:] for i in range(0, len(df),size)]
for l_d in list_of_dfs:
print l_d
Run Code Online (Sandbox Code Playgroud)
现在我想从下往上执行此操作,并且从 df_2 开始,它包含前一个数据帧的最后 2 行。
在 Python 中让它发生的正确方法是什么?谢谢。
我试图将13个彩色块的图片上的信息转换成一些文本.例如,我需要知道这里有多少黄色和蓝色块及其序列.
"C:\ target.jpg"
"C:\ blue.jpg"
"C:\ yellow.jpg"
我有的是:
import cv2
import numpy as np
img_rgb = cv2.imread("c:\\target.jpg")
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
template = cv2.imread('c:\\blue.jpg',0)
# template = cv2.imread('c:\\blue.jpg',0)
w, h = template.shape[::-1]
res = cv2.matchTemplate(img_gray,template,cv2.TM_CCOEFF_NORMED)
threshold = 0.99
loc = np.where (res >= threshold)
# if print loc
# (array([ 3, 31, 59, 87, 115, 143, 171, 199, 227, 255, 283, 311, 339], dtype=int64), array([7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7], dtype=int64))
print str(loc[0] …Run Code Online (Sandbox Code Playgroud) 您好,我正在使用 pydub 分割音频文件,给出从原始文件中提取片段的范围。
\n\n我所拥有的是:
\n\nfrom pydub import AudioSegment\n\nsound_file = AudioSegment.from_mp3("C:\\\\audio file.mp3")\n\n# milliseconds in the sound track\nranges = [(30000,40000),(50000,60000),(80000,90000),(100000,110000),(150000,180000)] \n\nfor x, y in ranges:\n new_file = sound_file[x : y]\n new_file.export("C:\\\\" + str(x) + "-" + str(y) +".mp3", format="mp3")\nRun Code Online (Sandbox Code Playgroud)\n\n它对于前 3 个新文件效果很好。但其余部分则不然 - 它不会相应地分割\xe2\x80\x99。
\n\n问题出在我给出范围的方式上吗?
\n\n谢谢。
\n\n添加在:
\n\n当它变得简单时 - 例如
\n\nsound_file[150000:180000]\nRun Code Online (Sandbox Code Playgroud)\n\n并将其导出为 mp3 文件。它可以工作,但只能削减 50000:80000 部分。似乎没有读取正确的范围。
\n