私は、JSONオブジェクトを報告し戻すAPIからの応答を取得しようとしています。これをマークダウン出力に変換して、よりわかりやすい形式で提示します。私はこれを行うためにpypandocを使用しようとしており、それを動作させる方法を考え出す時間が非常にあります。JSONオブジェクトをファイルに書き込まずにpypandocを使ってmarkdownに変換するにはどうすればいいですか?
私はpandocのドキュメントに基づいて次のように動作することを期待していますが、pandandocのドキュメントと例はほとんどありません。
from ipwhois import IPWhois
obj = IPWhois('74.125.225.229')
results = obj.lookup_rdap(depth=1)
print(pypandoc.convert_text(results, 'json', 'md'))
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-6-6a5e630f5495> in <module>()
4 obj = IPWhois('74.125.225.229')
5 results = obj.lookup_rdap(depth=1)
----> 6 print(pypandoc.convert_text(results, 'json', 'md'))
C:\ProgramData\Anaconda3\lib\site-packages\pypandoc\__init__.py in convert_text(source, to, format, extra_args, encoding, outputfile, filters)
101 source = _as_unicode(source, encoding)
102 return _convert_input(source, format, 'string', to, extra_args=extra_args,
--> 103 outputfile=outputfile, filters=filters)
104
105
C:\ProgramData\Anaconda3\lib\site-packages\pypandoc\__init__.py in _convert_input(source, format, input_type, to, extra_args, outputfile, filters)
303
304 try:
--> 305 source = cast_bytes(source, encoding='utf-8')
306 except (UnicodeDecodeError, UnicodeEncodeError):
307 # assume that it is already a utf-8 encoded string
C:\ProgramData\Anaconda3\lib\site-packages\pypandoc\py3compat.py in cast_bytes(s, encoding)
37 # bytes == str on py2.7 -> always encode on py2
38 if not isinstance(s, bytes):
---> 39 return _encode(s, encoding)
40 return s
41
C:\ProgramData\Anaconda3\lib\site-packages\pypandoc\py3compat.py in _encode(u, encoding)
25 def _encode(u, encoding=None):
26 encoding = encoding or _DEFAULT_ENCODING
---> 27 return u.encode(encoding)
28
29
AttributeError: 'dict' object has no attribute 'encode'
誰もがあなたがそれを共有している場合、私は非常に感謝だろうファイルにそれを記述することなく、これを変換するためのより良い方法を知っている場合。
への書き込みやファイルバージョンからの読み取り:
from ipwhois import IPWhois
from pprint import pprint
import json, pypandoc
obj = IPWhois('74.125.225.229')
results = obj.lookup_rdap(depth=1)
pprint(results)
with open('data.json', 'w') as outfile:
json.dump(results, outfile)
output = pypandoc.convert_file('data.json', to='json', format='md',outputfile="data.md")
pypandocは明らかにそれがあることを示しpandocのすべての機能へのアクセスを持っている必要があり、ここでの変換が可能である:http://pandoc.org/index.html 私はさらに取得することができます私は情報をファイルに書き出し、ファイルを変換してメモリに読み込んだり変換することができますが、メモリでこれを行うことができるはずです。ちょうどその方法はわかりません。 –
https://pypi.python。ORG /は、PyPI/pyandoc /示す利用可能 フォーマット: asciidoc ビーマー commonmark コンテキスト のDocBook DOC- X DokuWikiの dzslides EPUB EPUB3 FB2 ハドック HTML HTML5 ICML JSON(pandocのAST) ラテックス 男性 マークダウン markdown_github markdown_mmd markdown_phpextra markdown_strict MediaWikiの ネイティブ OpenDocumentの ODT OPML 組織 PDF 平野 revealjs 最初 RTF S5、 slideous slidy テキスタイル のtexinfoとpandocはここ それを示してhttp://pandoc.org/ diagram.jpg –
ファイルに書き込むときに、出力に大きな注意を払っていないように見えます。それはデータを修正していますが、それをファイルに書き込んでも実際のマークダウンには向いていません。多分、もし私がpandoc ASTに変換されたと推測しなければならなかったら? –