我正在尝试使用命令行程序convert
将PDF转换为图像(JPEG或PNG).这是我试图转换的PDF之一.
我希望程序能够修剪多余的空白区域并返回足够高质量的图像,以便轻松读取上标.
这是我目前最好的尝试.正如你所看到的,修剪效果很好,我只需要提高分辨率.这是我正在使用的命令:
convert -trim 24.pdf -resize 500% -quality 100 -sharpen 0x1.0 24-11.jpg
Run Code Online (Sandbox Code Playgroud)
我试图做出以下有意识的决定:
-sharpen
(我已尝试过一系列值)任何有关在最终PNG/JPEG中获得图像分辨率的建议都将非常感谢!
我有一个运行并创建三个词典的过程:2个相当小,1个大.
我知道我可以存储一个字典,如:
import cPickle as pickle
with open(filename, 'wb') as fp:
pickle.dump(self.fitResults, fp)
Run Code Online (Sandbox Code Playgroud)
我想要做的是将所有3个词典存储在同一个文件中,并能够在另一个时间单独加载三个词典.就像是
with open(filename, 'rb') as fp:
dict1, dict2, dict3 = pickle.load(fp)
Run Code Online (Sandbox Code Playgroud)
或者甚至更好地加载前两个词典,并使其可选择是否加载第三个(大)词典.这是可能的,还是应该以完全不同的方式解决这个问题?
我正在尝试使用CCD上的光谱仪检测线条轮廓.为了便于考虑,我已经包含了一个演示,如果解决了,它与我实际想要解决的演示非常相似.
我看过这个:https: //stats.stackexchange.com/questions/46626/fitting-model-for-two-normal-distributions-in-pymc 以及其他各种问题和答案,但他们正在做一些根本不同的事情比我想做的还要多.
import pymc as mc
import numpy as np
import pylab as pl
def GaussFunc(x, amplitude, centroid, sigma):
return amplitude * np.exp(-0.5 * ((x - centroid) / sigma)**2)
wavelength = np.arange(5000, 5050, 0.02)
# Profile 1
centroid_one = 5025.0
sigma_one = 2.2
height_one = 0.8
profile1 = GaussFunc(wavelength, height_one, centroid_one, sigma_one, )
# Profile 2
centroid_two = 5027.0
sigma_two = 1.2
height_two = 0.5
profile2 = GaussFunc(wavelength, height_two, centroid_two, sigma_two, )
# Measured …
Run Code Online (Sandbox Code Playgroud) 官方(?)建议运行IPython Notebook服务器,并通过创建配置文件
$ ipython profile create nbserver
Run Code Online (Sandbox Code Playgroud)
按照http://ipython.org/ipython-doc/1/interactive/public_server.html中的建议.当通过ipython notebook
和启动IPython Notebook时,这允许非常不同且非常有用的行为ipython notebook --profile=nbserver
.
使用Jupyter 4.0,有一个变化,不再有配置文件.我找到了对话https://gitter.im/ipython/ipython/archives/2015/05/29,其中有用户minrk说:
.ipython目录中有几个东西:
多个配置目录(称为配置文件)
一个'data'目录,包含kernelspecs,nbextensions等内容
运行时信息分散在各处,但主要在配置文件中
Jupyter遵循更适合平台的约定:
一个配置目录在JUPYTER_CONFIG_DIR,默认:.jupyter
JUPYTER_DATA_DIR中的一个数据目录,默认值:特定于平台
JUPYTER_RUNTIME_DIR中的一个运行时目录,默认值:特定于平台
还有一个相当含糊的说法:
如果要使用不同的配置,请使用JUPYTER_CONFIG_DIR = what指定其他配置目录
获得不同行为的最佳方式是什么(例如,在作为服务器运行与正常使用之间)?
它会涉及运行如下:
$ export JUPYTER_CONFIG_DIR=~/.jupyter-nbserver
$ jupyter notebook
Run Code Online (Sandbox Code Playgroud)
每当需要运行服务器"配置文件"时?和
$ export JUPYTER_CONFIG_DIR=~/.jupyter
$ jupyter notebook
Run Code Online (Sandbox Code Playgroud)
每当"正常"配置文件需要运行时?因为那看起来很可怕.在Jupyter 4.0中执行此操作的最佳方法是什么?
我试图找出如何获得特定列表中的每个列表的长度.例如:
a = []
a.append([])
a[0].append([1,2,3,4,5])
a[0].append([1,2,3,4])
a[0].append([1,2,3])
Run Code Online (Sandbox Code Playgroud)
我想运行一个命令:
len(a[0][:])
Run Code Online (Sandbox Code Playgroud)
这将输出我想要的答案,这是一个长度列表[5,4,3].这个命令显然不起作用,我试过的其他一些也没有用.请帮忙!
我目前正在复制以下Unix命令:
cat command.info fort.13 > command.fort.13
Run Code Online (Sandbox Code Playgroud)
在Python中使用以下内容:
with open('command.fort.13', 'w') as outFile:
with open('fort.13', 'r') as fort13, open('command.info', 'r') as com:
for line in com.read().split('\n'):
if line.strip() != '':
print >>outFile, line
for line in fort13.read().split('\n'):
if line.strip() != '':
print >>outFile, line
Run Code Online (Sandbox Code Playgroud)
这是有效的,但必须有一个更好的方法.有什么建议?
编辑(2016):
四年后,这个问题又开始受到关注.我在这里用更长的Jupyter笔记本写了一些想法.
问题的关键在于我的问题与(我意想不到的)行为有关readlines
.我可以更好地回答我的目标,这个问题可以更好地回答read().splitlines()
.
我之前问过如何仅设置 pandas 数据框的最后一行的样式?并得到了我给出的玩具问题的完美答案。
事实证明,我应该让玩具问题更接近我的真实问题。考虑一个包含超过 1 列文本数据的数据框(我可以对其应用样式):
import pandas as pd
import numpy as np
import seaborn as sns
cm = sns.diverging_palette(-5, 5, as_cmap=True)
df = pd.DataFrame(np.random.randn(3, 4))
df['text_column'] = 'a'
df['second_text_column'] = 'b'
df.style.background_gradient(cmap=cm)
Run Code Online (Sandbox Code Playgroud)
但是,就像上一个问题一样,我希望只将此样式应用于最后一行。上一个问题的答案是:
df.style.background_gradient(cmap=cm, subset=df.index[-1])
Run Code Online (Sandbox Code Playgroud)
在这种情况下给出了错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/usr/local/miniconda/lib/python3.7/site-packages/IPython/core/formatters.py in __call__(self, obj)
343 method = get_real_method(obj, self.print_method)
344 if method is not None:
--> 345 return method()
346 return None
347 else:
/usr/local/miniconda/lib/python3.7/site-packages/pandas/io/formats/style.py in _repr_html_(self)
161 Hooks into Jupyter …
Run Code Online (Sandbox Code Playgroud) 我正在使用python将文件写入zlib压缩和cPickled字典.它似乎工作,但是,我无法弄清楚如何重新读取文件.
我包括以下代码,其中包括我尝试过的几个(以及相关的错误消息).我无处可去.
import sys
import cPickle as pickle
import zlib
testDict = { 'entry1':1.0, 'entry2':2.0 }
with open('test.gz', 'wb') as fp:
fp.write(zlib.compress(pickle.dumps(testDict, pickle.HIGHEST_PROTOCOL),9))
attempt = 0
try:
attempt += 1
with open('test.gz', 'rb') as fp:
step1 = zlib.decompress(fp)
successDict = pickle.load(step1)
except Exception, e:
print "Failed attempt:", attempt, e
try:
attempt += 1
with open('test.gz', 'rb').read() as fp:
step1 = zlib.decompress(fp)
successDict = pickle.load(step1)
except Exception, e:
print "Failed attempt:", attempt, e
try:
attempt += 1
with open('test.gz', 'rb') as …
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个python程序,可以在维基百科上搜索人们的出生和死亡日期.
例如,阿尔伯特爱因斯坦出生于1879年3月14日; 去世:1955年4月18日.
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
infile = opener.open('http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvsection=0&titles=Albert_Einstein&format=xml')
page2 = infile.read()
Run Code Online (Sandbox Code Playgroud)
这项工作尽可能地发挥作用.page2
是来自Albert Einstein维基百科页面的部分的xml表示.
我看了这个教程,现在我有xml格式的页面... http://www.travisglines.com/web-coding/python-xml-parser-tutorial,但我不明白怎么弄我想要的信息(出生和死亡日期)来自xml.我觉得我必须亲近,但是,我不知道如何从这里开始.
编辑
经过几次回复后,我安装了BeautifulSoup.我现在正处于可以打印的阶段:
import BeautifulSoup as BS
soup = BS.BeautifulSoup(page2)
print soup.getText()
{{Infobox scientist
| name = Albert Einstein
| image = Einstein 1921 portrait2.jpg
| caption = Albert Einstein in 1921
| birth_date = {{Birth date|df=yes|1879|3|14}}
| birth_place = [[Ulm]], [[Kingdom of Württemberg]], [[German Empire]]
| death_date = {{Death date and age|df=yes|1955|4|18|1879|3|14}}
| …
Run Code Online (Sandbox Code Playgroud) 我知道一些先前提出的问题,但没有一个解决方案可用于我在下面提供的可重现的例子.
我试图读取.xls
从文件中http://www.eia.gov/coal/data.cfm#production -特别是历史详细的煤炭产量数据(1983年至二零一三年) coalpublic2012.xls
文件,该文件可以免费获得通过下拉.熊猫无法读懂它.
相比之下,最近一年可用的coalpublic2013.xls
文件,2013年, 文件,没有问题:
import pandas as pd
df1 = pd.read_excel("coalpublic2013.xls")
Run Code Online (Sandbox Code Playgroud)
但未来十年的.xls
文件(2004-2012)不会加载.我用Excel查看了这些文件,它们打开了,并且没有损坏.
我从熊猫那里得到的错误是:
---------------------------------------------------------------------------
XLRDError Traceback (most recent call last)
<ipython-input-28-0da33766e9d2> in <module>()
----> 1 df = pd.read_excel("coalpublic2012.xlsx")
/Users/jonathan/anaconda/lib/python2.7/site-packages/pandas/io/excel.pyc in read_excel(io, sheetname, header, skiprows, skip_footer, index_col, parse_cols, parse_dates, date_parser, na_values, thousands, convert_float, has_index_names, converters, engine, **kwds)
161
162 if not isinstance(io, ExcelFile):
--> 163 io = ExcelFile(io, engine=engine)
164
165 return io._parse_excel(
/Users/jonathan/anaconda/lib/python2.7/site-packages/pandas/io/excel.pyc in __init__(self, io, **kwds)
204 self.book …
Run Code Online (Sandbox Code Playgroud)