2016-04-18 47 views
0

我正在處理一個Thinkful挑戰。以下是說明:Python SQLITE上的意外縮進錯誤

編寫一個名爲「database.py」的腳本來打印出7月份是最暖和的月份的城市。腳本必須:

連接到數據庫創建城市和天氣表格(提示: 先通過語句DROP TABLE IF EXISTS;去除 表你執行CREATE TABLE ...語句之前)中插入數據兩個表加入數據一起加載到一個數據幀大熊貓

以下是錯誤

Aschs-MacBook-Air:dbs aschharwood$ python database.py 
    File "database.py", line 20 
    cols = [desc[0] for desc in cur.description] 
    ^
IndentationError: unexpected indent 

這裏是代碼:

import sqlite3 as lite 

# Here you connect to the database. The `connect()` method returns a connection object. 
con = lite.connect('get_started.db') 

with con: 

    cur = con.cursor() 
    cur.execute("DROP TABLE IF EXISTS cities") 
    cur.execute("DROP TABLE IF EXISTS weather") 
    cur.execute("CREATE TABLE cities (name text, state text)") 
    cur.execute("CREATE TABLE weather (city text, year integer, warm_month text, cold_month text)") 
    cur.execute("INSERT INTO cities VALUES('Washington', 'DC')") 
    cur.execute("INSERT INTO cities VALUES('Houston', 'TX')") 
    cur.execute("INSERT INTO weather VALUES('Washington', 2013, 'July', 'January',)") 
    cur.execute("INSERT INTO weather VALUES('Houston', 2013, 'July', 'January',)") 
    cur.execute("SELECT * FROM cities LEFT OUTER JOIN weather ON name = city") 

    rows = cur.fetchall() #grabbing all the rows 
    cols = [desc[0] for desc in cur.description] 
    df = pd.DataFrame(rows, columns=cols) 


    print(df) 

我在做什麼錯?

您的幫助非常感謝!

+0

IndentationError可能是由於混合了製表符和空格。運行'python -t database.py'。 '-t'標誌告訴python警告源文件是否混合了製表符和空格以進行縮進。 – unutbu

+0

如果事實證明IndentationError是由於混合了製表符和空格,可以使用[autope8或reindent.py](http://stackoverflow.com/a/2625361/190597)將製表符轉換爲空格。 – unutbu

+0

這絕對是問題。似乎發生在我從一個.py文件複製並粘貼到另一個時發生。謝謝! – Aschharwood

回答

0

事實證明,這是我的文本編輯器Sublime Text中的複製粘貼問題。我將一些代碼從一個文件複製到另一個文件。雖然它看起來不像是一個縮進問題,但文本編輯器似乎正在閱讀它。