2017-06-12 360 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

相关问题