【问题标题】:syntax error while importing csv file for winerama project [duplicate]为winerama项目导入csv文件时出现语法错误[重复]
【发布时间】:2017-06-12 16:19:22
【问题描述】:

我正在尝试建立一个葡萄酒推荐系统。我正在尝试使用 pandas 从 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"

【问题讨论】:

  • 你的python版本是多少?
  • 您的 SyntaxError 来自在 Python3 中执行此操作,其中 print 需要括号 print( ... )。要么将其作为 Python2 运行,要么将您的打印内容括在括号中

标签: python django csv recommendation-engine


【解决方案1】:

可能你正在运行python3,其中print是一个函数,必须用括号括起来:

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

您可以通过运行来确定您拥有的版本:

python --version

【讨论】:

  • 是的,它起作用了...谢谢..:)
【解决方案2】:

Python 中的 SyntaxError 总是由空白和 Tab 混合使用引起的,请确保只使用其中一种。 您的代码中“import sys, os”之前是否有空格?如果是,请删除空格。

【讨论】:

  • 有空间,我删除了它,但我仍然收到此错误....#Chenxingwei
  • 空格/制表符不是问题。如果确实如此,那么 OP 将获得 IndentionErrorTabError
  • 语法有错误但我想不通..:(
猜你喜欢
  • 1970-01-01
  • 2013-12-19
  • 2017-12-11
  • 1970-01-01
  • 1970-01-01
  • 2018-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多