Skip to content

Instantly share code, notes, and snippets.

@dextervip
Created May 3, 2020 18:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dextervip/8b0f4f2b4635fcc9e60685bc665db7b7 to your computer and use it in GitHub Desktop.
Save dextervip/8b0f4f2b4635fcc9e60685bc665db7b7 to your computer and use it in GitHub Desktop.
Export Pandas Table Image with wkhtmltoimage
import subprocess
f=open("dfAccountSummary.html", "w+")
html = """
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
<style type = "text/css">
body {{ font-family: 'Roboto', cursive; }}
</style>
<title>Hello, world!</title>
</head>
<body>
{0}
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
</body>
</html>
""".format(botStats.T.to_html())
html = html.replace('border="1" class="dataframe"','class="table table-sm table-striped"').replace('<thead>','<thead class="thead-dark">')
f.write(html)
f.close()
process = subprocess.run(["wkhtmltoimage","dfAccountSummary.html", "out.png"], check=True, stdout=subprocess.PIPE, universal_newlines=True)
process.stdout
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment