Skip to content

Instantly share code, notes, and snippets.

Avatar

Lee Mendelowitz LeeMendelowitz

View GitHub Profile
@LeeMendelowitz
LeeMendelowitz / rename_files.py
Created Oct 31, 2014
Rename files in a directory by removing non-alphanumeric characters that shouldn't be in a filename.
View rename_files.py
"""
Recurseively rename all files in a directory by replace whitespace with underscores
and erasing all non-('a-zA-Z0-9' or '_' or '-' or '.') characters.
"""
import re, os, shutil, argparse, sys
parser = argparse.ArgumentParser(description = "Rename all files in directory by replacing whitespace with underscores.")
parser.add_argument('directories', metavar="DIR", nargs='*', default = [os.getcwd()], help="directories to walk. Default: CWD")
err = sys.stderr.write
@LeeMendelowitz
LeeMendelowitz / DC_Metrorail_Ridership.mac.csv
Last active May 1, 2021
Replace "^M" carriage return control character with newline
View DC_Metrorail_Ridership.mac.csv
We can make this file beautiful and searchable if this error is corrected: It looks like row 71 should actually have 2 columns, instead of 1. in line 70.
Date,Total 1/1/04,129000 1/2/04,419000 1/3/04,222000 1/4/04,140000 1/5/04,564000 1/6/04,609000 1/7/04,609000 1/8/04,611000 1/9/04,624000 1/10/04,201000 1/11/04,135000 1/12/04,618000 1/13/04,660000 1/14/04,661000 1/15/04,628000 1/16/04,594000 1/17/04,236000 1/18/04,148000 1/19/04,220000 1/20/04,617000 1/21/04,647000 1/22/04,687000 1/23/04,640000 1/24/04,221000 1/25/04,136000 1/26/04,436000 1/27/04,517000 1/28/04,614000 1/29/04,655000 1/30/04,633000 1/31/04,215000 2/1/04,134000 2/2/04,615000 2/3/04,598000 2/4/04,659000 2/5/04,652000 2/6/04,603000 2/7/04,238000 2/8/04,141000 2/9/04,621000 2/10/04,650000 2/11/04,660000 2/12/04,651000 2/13/04,644000 2/14/04,273000 2/15/04,168000 2/16/04,241000 2/17/04,634000 2/18/04,648000 2/19/04,665000 2/20/04,664000 2/21/04,258000 2/22/04,145000 2/23/04,622000 2/24/04,646000 2/25/04,657000 2/26/04,653000 2/27/04,638000 2/28/04,251000 2/29/04,151000 3/1/04,619000 3/2/04,647000 3/3/04,660000 3/4/04,663000 3/5/04,660000 3/6/04,253000 3/7/04,172000 3/8/04,630000 3/9/04,661000 3/10/
@LeeMendelowitz
LeeMendelowitz / README.md
Last active Dec 6, 2018
D3 Dynamic Table with Nested Data
View README.md

This script is another demonstration of the update, enter, and exit selections in D3. The script also makes use of key functions to bind data to each row, and transitions to animate opacity and delay the removal of rows. This script demonstrates nested data, where an array of values is bounded to each row (<tr>), and then a single value is bound to each cell (<td>) element in the row.

Each row of the table has a unique letter key, which is displayed as the first cell. The remainder of the row is an array of random digits. At each iteration:

  1. A new set of letter keys is randomly selected from the alphabet.
  2. For each letter in the set, a new row with random data will be inserted in the table if the letter is not already in the table.
  3. Any row in the table with a key which is not in the new set is removed.
  4. The number of columns in the table is randomly adjusted. If the new number of columns is larger than the current table, random data is appended to each row. Otherwise, cel
@LeeMendelowitz
LeeMendelowitz / excel_macro
Created Apr 8, 2016
Excel Macro for exporting all sheets as csv
View excel_macro
Sub ExportSheetsToCSV()
Dim xWs As Worksheet
Dim xcsvFile As String
For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.Copy
xcsvFile = xWs.Name & ".csv"
Application.ActiveWorkbook.SaveAs Filename:=xcsvFile, _
FileFormat:=xlCSV, CreateBackup:=False
Application.ActiveWorkbook.Saved = True
Application.ActiveWorkbook.Close
View lcps.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@LeeMendelowitz
LeeMendelowitz / README
Last active Aug 29, 2015
Airport Survey
View README
The Washington Post Aiport Survey
http://www.washingtonpost.com/express/wp/2015/03/31/national-reagan-dca-17-years-later-locals-still-cant-agree-on-the-name-of-the-airport-in-question/?wprss=rss_traffic
@LeeMendelowitz
LeeMendelowitz / time_call.R
Created Mar 7, 2015
Time R Function Calls
View time_call.R
############################################################
# Time a call. Execution time is printed. Return the value of wrapped call
time.call <- function(expr) {
start.time <- proc.time()
ret = evalq(expr)
end.time <- proc.time()
print(end.time - start.time)
ret
@LeeMendelowitz
LeeMendelowitz / bash.md
Last active Aug 29, 2015
Bash one-liners
View bash.md

find with redirected stdout

find . -name '*.aln' | xargs -I {} sh -c 'cut -f 1 "$1" > "$1.cut"' -- {}

This will find all files *.aln and then output the first column to *.aln.cut.

get filetypes

View Knitr_Latex_Template
\documentclass[12pt]{article}
\usepackage[sc]{mathpazo}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage[top=1in, bottom=1in, left=1.5in, right = 1.5in, marginparwidth=0.0in, marginparsep=0.25in]{geometry}
% \geometry{verbose,tmargin=0.75in,bmargin=0.75in,lmargin=0.75in,rmargin=0.75in} %Commented out in favor of the marginnote settings
\setcounter{secnumdepth}{2}
@LeeMendelowitz
LeeMendelowitz / README.md
Last active Aug 29, 2015
Take a snapshot of a page with phantom JS
View README.md

To run, download PhantomJS

From the terminal:

phantomjs snapshot.js > output.html