2017-06-12 364 views
0

我正在嘗試建立一個葡萄酒推薦系統。我試圖從CSV使用熊貓進口數據,我得到這個錯誤:爲winerama項目導入csv文件時出現語法錯誤

C:\Users\Adhista Chapagain\Desktop\winerama> python load_users.py data/users.csv File "load_users.py", line 22 
    print "Reading from file " + str(sys.argv[1]) 
          ^SyntaxError: invalid syntax 

這裏是load_users.py代碼:總是被混合使用的空白和標籤引起

import sys, os 
import pandas as pd 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "winerama.settings") 

import django 
django.setup() 

from django.contrib.auth.models import User 


def save_user_from_row(user_row): 
    user = User() 
    user.id = user_row[0] 
    user.username = user_row[1] 
    user.save() 


if __name__ == "__main__": 

    if len(sys.argv) == 2: 
     print "Reading from file " + str(sys.argv[1]) 
     users_df = pd.read_csv(sys.argv[1]) 
     print users_df 

     users_df.apply(
      save_user_from_row, 
      axis=1 
     ) 

     print "There are {} users".format(User.objects.count()) 

    else: 
     print "Please, provide User file path" 
+1

你的python版本是什麼? – kuro

+0

您的SyntaxError來自在Python3中執行此操作,其中'print'需要圓括號'print(...)'。或者將它作爲Python2運行,或者將其打印在圓括號中 – Wondercricket

回答

-1

在Python的SyntaxError,確保你只使用其中的一個。 代碼中的「import sys,os」之前是否有空格?如果是這樣,請刪除該空間。

+0

有空間,我刪除了它,但仍然出現此錯誤....#Chenxingwei – adhistac

+0

空格/製表符不是問題。如果他們真的是,那麼OP會得到[IndentionError](https://docs.python.org/2/library/exceptions.html#exceptions.IndentationError)或[TabError](https://docs.python .org/2/library/exceptions.html#exceptions.TabError) – Wondercricket

+0

語法錯誤,但我找不出來.. :( – adhistac

0

這可能是你運行python3,爲此print是一個函數,必須用方括號包圍:

 print("Reading from file", str(sys.argv[1])) 

你可以確保您有哪個版本的運行:

python --version 
+0

y它工作...謝謝.. :) – adhistac

相關問題