Python: объект типа 'не индексируется Ошибка - PullRequest
0 голосов
/ 28 мая 2020
• 1000 *

Ниже приведен фрагмент кода, который я пытаюсь выполнить:

from pyspark.sql.types import StructField, StringType, IntegerType, StructType

baseshema = StructType[StructField('ID Number', StringType(), True),
              StructField('Entity Name', StringType(), True),
              StructField('Phone Number', StringType(), True),
            StructField('Address',StructType[StructField('Building', StringType(), True),
              StructField('Street', StringType(), True),
              StructField('City', StringType(), True),
              StructField('State', StringType(), True),
              StructField('Postcode', StringType(), True)]),
             StructField('Location',StructType[StructField('Latitude', StringType(), True),
              StructField('Longitude', StringType(), True),
              StructField('Location', StringType(), True)])]

Заранее благодарим за ответ!

1 Ответ

1 голос
/ 28 мая 2020

Вы должны использовать круглые скобки для вызова конструктора. Кроме того, init принимает один параметр, поэтому вам придется заключить поля в список. Это должно выглядеть так:

baseshema = StructType([StructField('ID Number', StringType(), True),
                        StructField('Entity Name', StringType(), True),
                        StructField('Phone Number', StringType(), True),
                        StructField('Address',StructType([
                            StructField('Building', StringType(), True),
                            StructField('Street', StringType(), True),
                            StructField('City', StringType(), True),
                            StructField('State', StringType(), True),
                            StructField('Postcode', StringType(), True)])),
                        StructField('Location',StructType([
                            StructField('Latitude', StringType(), True),
                            StructField('Longitude', StringType(), True),
                            StructField('Location', StringType(), True)]))])
...