我在Ruby中编写了一个Web爬虫,我正在使用它Nokogiri::HTML来解析页面.我需要打印页面,在IRB中乱搞时我注意到了一种pretty_print方法.然而,它需要一个参数,我无法弄清楚它想要什么.
我的抓取工具正在缓存网页的HTML并将其写入本地计算机上的文件.我想"漂亮地打印"HTML,以便它在我这样做时看起来很好并且格式正确.
我试图将哈希打印到文件.
我尝试了unix重定向[逐步添加不同的标志]:
`echo #{pp mymap} | tee summary.out 2>&1`
Run Code Online (Sandbox Code Playgroud)
和文件IO
my_file = File.new(@dir_+"/myfile.out",'w+')
my_file.puts `#{pp get_submap_from_final(all_mapping_file,final_map)}`
Run Code Online (Sandbox Code Playgroud)
它总是打印到控制台并且不写入文件.
还有一种更简单的方法可以在ruby中的一行中写入文件吗?而不是做File.new然后写入文件?
我想重新格式化一些单个字符串的SQL语句,其中新行更容易阅读.
我个人并不知道缩进SQL的良好编码风格 - 如何通过表示嵌套查询/ where子句/ left join/etc来最大化可读性?
有没有人见过一个漂亮的打印算法呢?在Python中会更好.
pprint.PrettyPrinter该pprint模块的文档提到该方法PrettyPrinter.format旨在使自定义格式化成为可能.
我认为可以在子类中重写此方法,但这似乎没有提供让基类方法应用换行和缩进的方法.
我已经检查了pretty模块,看起来很有趣,但似乎没有提供一种方法来自定义其他模块的类格式而无需修改这些模块.
我认为我正在寻找的东西可以让我提供类型(或可能是函数)的映射,这些类型可以识别处理节点的例程的类型.处理节点的例程将获取一个节点并返回它的字符串表示以及子节点列表.等等.
我的目标是紧凑地打印DocBook格式的自定义格式部分xml.etree.ElementTree.
(我很惊讶没有找到更多Python支持DocBook.也许我错过了那些东西.)
我在一个名为xmlearn的客户端中构建了一些使用lxml的基本功能.例如,要转储Docbook文件,您可以:
xmlearn -i docbook_file.xml dump -f docbook -r book
Run Code Online (Sandbox Code Playgroud)
这是相当半屁股,但它让我得到了我正在寻找的信息.
xmlearn还具有其他功能,例如构建图形图像的能力以及显示XML文档中标记之间关系的转储.这些与这个问题完全无关.
您还可以执行转储到任意深度,或将XPath指定为一组起始点.XPath的东西有点过时了特定于docbook的格式,所以它并没有真正发展完善.
这仍然不是这个问题的答案.我仍然希望那里有一个可以随意定制的漂亮打印机.
Emacs Lisp似乎没有PPRINT功能.你怎么用Common Lisp中的方式在elisp中打印S-EXP?
我几个月来一直在关注这个问题,而且我主要发现网站都在问同样的问题.
我的答案却发现总是面向.NET或C++或参与XSLT.
如何让Jackson的build()方法完美打印其JSON输出?这是一个漂亮打印丑陋形式的JSON代码的示例.我需要使用JSON代码的漂亮版本然后将其转移到丑陋的fom.怎么做到呢?我需要转换这个:
{
"one" : "AAA",
"two" : [ "BBB", "CCC" ],
"three" : {
"four" : "DDD",
"five" : [ "EEE", "FFF" ]
}
}
Run Code Online (Sandbox Code Playgroud)
对此:
{"one":"AAA","two":["BBB","CCC"],"three":{"four":"DDD","five":["EEE","FFF"]}}
Run Code Online (Sandbox Code Playgroud)
我试图删除'\n','\ t'和''字符; 但是值中可能有一些这样的字符,所以我不能这样做.还有什么可以做的?
这似乎是一个非常简单的问题,但是它让我绕过弯道.我确定它应该由RTFM解决,但我已经看了选项,我可以看到一个修复它.
我只想打印所有列的dtypes,目前我得到:
print df.dtypes
#>
Date object
Selection object
Result object
...
profit float64
PL float64
cumPL float64
Length: 11, dtype: object
Run Code Online (Sandbox Code Playgroud)
我试过设置选项display.max_row,display.max_info_row,display.max_info_columns都无济于事.
我究竟做错了什么?
熊猫版= 0.13.1
更新:
事实证明,我是一个白痴,并没有display.max_row达到足够高的价值.
解决方案是:
pd.set_option('display.max_rows', 20)
Run Code Online (Sandbox Code Playgroud) 在用"丑陋"的XML读取现有文件并进行一些修改后,漂亮的打印不起作用.我试过了etree.write(FILE_NAME, pretty_print=True).
我有以下XML:
<testsuites tests="14" failures="0" disabled="0" errors="0" time="0.306" name="AllTests">
<testsuite name="AIR" tests="14" failures="0" disabled="0" errors="0" time="0.306">
....
Run Code Online (Sandbox Code Playgroud)
我这样使用它:
tree = etree.parse('original.xml')
root = tree.getroot()
...
# modifications
...
with open(FILE_NAME, "w") as f:
tree.write(f, pretty_print=True)
Run Code Online (Sandbox Code Playgroud) 在泛型类型的情况下,System.Type类的名称属性返回奇怪的结果.有没有办法以更接近我指定方式的格式获取类型名称?例:typeof(List<string>).OriginalName == "List<string>"