当前位置: 首页 > 知识库问答 >
问题:

带有read_csv的嵌套If语句[重复]

姚海
2023-03-14
    leagues = {
            '1': 'Premier League',
            '2': 'Championship League',
            '3': 'League 1',
            '4': 'League 2',
            '5': 'Conference League'
        }

        # Choose which league to model
        print("Please pick which league:\n")
        for ref, league in leagues.items():
            print(ref, ":", league)

        leagueChoice = input("Enter League Number: ")

        if leagueChoice == 1:
            df = pd.read_csv(
                "http://www.football- data.co.uk/mmz4281/{}/E0.csv".format(season_year))

            england_teams = {
                '1': 'Arsenal',
            }

            print(df.head)
            exit()
        elif leagueChoice == 2:
            df = pd.read_csv(
                "http://www.football-data.co.uk/mmz4281/{}/E1.csv".format(season_year))

            england_teams = {
                '1': 'Aston Villa',
            }
        elif leagueChoice == 3:
            df = pd.read_csv(
                "http://www.football-data.co.uk/mmz4281/{}/E2.csv".format(season_year))

            england_teams = {
                '1': 'Accrington',
            }
        elif leagueChoice == 4:
            df = pd.read_csv(
                "http://www.football-data.co.uk/mmz4281/{}/E3.csv".format(season_year))

            england_teams = {
                '1': 'Bury',
            }
        else:
            df = pd.read_csv(
                "http://www.football-data.co.uk/mmz4281/{}/EC.csv".format(season_year))

            england_teams = {
                '1': 'Aldershot',
            } 
> During handling of the above exception, another exception occurred:

> Traceback (most recent call last):
  File "Soccer.py", line 794, in <module>
    main_menu()
  File "Soccer.py", line 64, in main_menu
    exec_menu(choice)
  File "Soccer.py", line 77, in exec_menu
    menu_actions[ch]()
  File "Soccer.py", line 571, in england
    "http://www.football-data.co.uk/mmz4281/{}/EC.csv".format(season_year))
  File "/Users/user/anaconda3/lib/python3.6/site-packages/pandas/io/parsers.py", line 702, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/Users/user/anaconda3/lib/python3.6/site-packages/pandas/io/parsers.py", line 435, in _read
    data = parser.read(nrows)
  File "/Users/user/anaconda3/lib/python3.6/site-packages/pandas/io/parsers.py", line 1139, in read
    ret = self._engine.read(nrows)
  File "/Users/user/anaconda3/lib/python3.6/site-packages/pandas/io/parsers.py", line 1995, in read
    data = self._reader.read(nrows)
  File "pandas/_libs/parsers.pyx", line 899, in pandas._libs.parsers.TextReader.read
  File "pandas/_libs/parsers.pyx", line 914, in pandas._libs.parsers.TextReader._read_low_memory
  File "pandas/_libs/parsers.pyx", line 991, in pandas._libs.parsers.TextReader._read_rows
  File "pandas/_libs/parsers.pyx", line 1123, in pandas._libs.parsers.TextReader._convert_column_data
  File "pandas/_libs/parsers.pyx", line 1176, in pandas._libs.parsers.TextReader._convert_tokens
  File "pandas/_libs/parsers.pyx", line 1299, in pandas._libs.parsers.TextReader._convert_with_dtype
  File "pandas/_libs/parsers.pyx", line 1315, in pandas._libs.parsers.TextReader._string_convert
  File "pandas/_libs/parsers.pyx", line 1553, in pandas._libs.parsers._string_box_utf8
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa0 in position 1: invalid start byte

共有1个答案

田鹤轩
2023-03-14

'UTF-8'编解码器无法解码位置1中的字节0xA0:无效的起始字节通常意味着它是一个字符(例如,智能引号),无法解码为unicode字符串。因此,问题最有可能出现在。csv文档中,而不是代码本身。

要处理它,可以将显式的encoding参数传递给read_csv(),如下所示:

df = pd.read_csv("<file>".format(season_year), encoding='<type>')

下面是Python 3标准编码的一个很好的列表。

 类似资料:
  • 数据库表: 胶片(id\U胶片主键,名称) 流派(id_genrePK,名称) film_genre(id_filmFK,id_genreFK) 这将输出流派表中的所有流派: 这将输出特定电影的电影类型表中的所有选定类型: 我有一个问题,从数据库输出数据到多个选定的列表中的形式。这是一个电影数据库,我正在进行Foreach迭代,以读取电影流派的所有行,并输出到多个选择字段。但是我在向列表输出“选定

  • 前面章节中,详细介绍了 3 种形式的条件语句,即 if、if else 和 if elif else,这 3 种条件语句之间可以相互嵌套。 例如,在最简单的 if 语句中嵌套 if else 语句,形式如下: if 表达式 1:     if 表示式 2:         代码块 1     else:         代码块 2 再比如,在 if else 语句中嵌套 if else 语句,形式

  • Swift 条件语句 在 Swift 语言中,你可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 语法 Swift 语言中 嵌套 if 语句的语法: if boolean_expression_1 { /* 当 boolean_expression_1 表达式 true 时执行 */ if boolean_expression_2 {

  • C++ 判断 在 C++ 中,嵌套 if-else 语句是合法的,这意味着您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 语法 C++ 中 嵌套 if 语句的语法: if( boolean_expression 1) { // 当布尔表达式 1 为真时执行 if(boolean_expression 2) { // 当布尔

  • 在VB.Net中嵌套If-Then-Else语句总是合法的,这意味着你可以在另一个If ElseIf语句中使用一个If或ElseIf语句。 语法 (Syntax) 嵌套If语句的语法如下 - If( boolean_expression 1)Then 'Executes when the boolean expression 1 is true If(boolean_expressi

  • 在Objective-C编程中nest if-else语句总是合法的,这意味着你可以在另一个if或else if语句中使用if或else if语句。 语法 (Syntax) nested if语句的语法如下 - if( boolean_expression 1) { /* Executes when the boolean expression 1 is true */ if(bool