Skip to content

Instantly share code, notes, and snippets.

View LeeMendelowitz's full-sized avatar

Lee Mendelowitz LeeMendelowitz

View GitHub Profile
@LeeMendelowitz
LeeMendelowitz / README
Last active August 29, 2015 14:18
Airport Survey
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
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@LeeMendelowitz
LeeMendelowitz / excel_macro
Created April 8, 2016 17:32
Excel Macro for exporting all sheets as csv
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
@LeeMendelowitz
LeeMendelowitz / README.md
Last active December 6, 2018 23:02
D3 Dynamic Table with Nested Data

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 / DC_Metrorail_Ridership.mac.csv
Last active May 1, 2021 18:12
Replace "^M" carriage return control character with newline
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 / rename_files.py
Created October 31, 2014 18:44
Rename files in a directory by removing non-alphanumeric characters that shouldn't be in a filename.
"""
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