local variable 'j' referenced before assignment
In table.py on line 237, I had to add j = 0 to define the variable J in order to get csvkit to work in my environment. 
Is this a bug, or did I do something else wrong? 
The subject line was the error I receieved for all of the utilities like csvstat, and csvsql. 
My change: 
        for i, row in enumerate(rows):
-->       j = 0
            for j, d in enumerate(row):

Thank you, 

Doug

diff --git a/csvkit/table.py b/csvkit/table.py
index c2824f1..fcb0feb 100644
--- a/csvkit/table.py
+++ b/csvkit/table.py
@@ -234,6 +234,8 @@ class Table(list):
         width = len(data_columns)
 
         for i, row in enumerate(rows):
+            j = 0
+
             for j, d in enumerate(row):
                 try:
                     data_columns[j].append(row[column_ids[j]].strip())
diff --git a/tests/test_table.py b/tests/test_table.py
index f559e70..39f952d 100644
--- a/tests/test_table.py
+++ b/tests/test_table.py
@@ -86,6 +86,9 @@ class TestTable(unittest.TestCase):
         self.assertEqual(t[3][0], 'True')
         self.assertEqual(type(t[3][0]), six.text_type)
 
+    def test_from_csv_empty_file(self):
+        table.Table.from_csv(six.StringIO('\\n\\n'))
+
     def test_to_csv(self):
         with open('examples/testfixed_converted.csv', 'r') as f:
             contents = f.read()
['csvkit/table.py', 'tests/test_table.py']