Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 12, 2016 22:08:49

alina28
Зарегистрирован: 2016-12-12
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Вывод таблицы csv через классы python и джейсон

Задача: вывести одну из ячеек csv файла в формате джейсон используя при этом класс Investors
Написала для этого такой вот код, который прикреплен ниже, а выбивает такую вот ошибку:
Объясните в чем проблема, ибо с классами работаю впервые а пайтон учу лишь неделю
Заранее спасибо!
import csv, json


class Investors():
def parse_companies(file=“companies.csv”):

with open(file, newline=“”) as csvfile:
csvreader =
return csvreader

def create_dictionary(list, organization):

dictionary = {rows:rows for rows in csvreader}
return dictionary

def decode_json(dictionary, json_name):
parced_json = json.dumps(dictionary, indent=4)
return parced_json

def csv_to_json(file, json_name):
self.decode_json(encode_csv(csv_name), json_name)

x = Investors()
x.csv_to_json('companies.csv', “investors-#”+str(organisation)+“.json”)

Ошибка:
line 24
x.csv_to_json('companies.csv', “investors-#”+str(organisation)+“.json”)
“organisation” is not defined

Офлайн

#2 Дек. 13, 2016 01:36:48

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Вывод таблицы csv через классы python и джейсон

Везде должно быть organization.



Офлайн

#3 Дек. 13, 2016 09:19:11

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Вывод таблицы csv через классы python и джейсон

оно вам четко пишет что organisation неопределена.
если опустить описание класса то весь ваш код выглядит так:

 x = Investors()
x.csv_to_json('companies.csv', 'investors-#'+str(organisation)+'.json')
вы вызываете метод csv_to_json передав в качестве параметра переменную organisation но саму переменную никак не определили, она не то что ничему не равна, ее просто не существует, о чем вам и написал питон.
да и с классом у вас тодже будут проблемы, например вот эта кнструкция:
 def create_dictionary(list, organization):
    dictionary = {rows:rows for rows in csvreader}
    return dictionary
зачем вы пердаете list, organization если ннгде их не используете?
откуда вы берете csvreader в конструкции rows:rows for rows in csvreader
оно вам тоже ругнеться что “csvreader” is not defined
И оформите правильно листинго кода, используя теги “code python” “/code” и правильные отступы, а то непонятно def create_dictionary это отдельная процедура или это метод класса Investors



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Дек. 13, 2016 09:41:31)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version