ImportError:没有名为'parse'的模块

时间:2017-09-14 05:13:28

标签: python django

我收到了错误,

ImportError: No module named 'parse' .

在我写的parse.py

class DataRate():
    data_rate ={}
    data_rate =defaultdict(dict)
    def try_to_int(arg):
        try:
            return int(arg)
        except:
            return arg

    book4 = xlrd.open_workbook('./data/excel1.xlsx')
    sheet4 = book4.sheet_by_index(0)

    tag_list = sheet4.row_values(0)
    for row_index in range(0, sheet4.nrows):
        row = sheet4.row_values(row_index)
        row = list(map(try_to_int, row))
        value = dict(zip(tag_list, row))

        closing_rate_dict[value['ID']].update(value)
        user = User.objects.filter(corporation_id=closing_rate_dict[value['ID']]['NAME'])

我想在data_rate_savedata.py中使用DataRate类,所以我写了

import parse
def data_rate_save():
   if user2:
      if parse.closing_rate_dict[parse.value['ID']]['NAME'] == 'A':
         parse.user2.update(data_rate_under_500 = parse.closing_rate_dict[parse.value['ID']]['d500'],
                            data_rate_under_700 = parse.closing_rate_dict[parse.value['ID']]['d700'],
                            data_rate_upper_700 = parse.closing_rate_dict[parse.value['ID']]['u700'])

我想使用parse.py& main_save.py中的data_rate_savedata.py,所以我写了

from app.parse import DataRate

#parse
DataRate()
#save
data_rate_save()

当我运行main_save.py时,出现错误 导入错误:

 No module named 'parse',traceback says
File "/Users/app/data_rate_savedata.py", line 1, in <module>
    import parse

是错误的。是IDE问题吗?或者编写代码我错了?我该如何解决这个错误?

2 个答案:

答案 0 :(得分:1)

您需要指定导入解析的路径

如果它与data_rate_savedata.py写的级别相同:

from . import parse

或者你可以写:

from app import parse

这样可以正常工作。

答案 1 :(得分:0)

在Python中,使用modules语句访问import。 因此,理解文件夹层次结构非常重要。

如果文件夹结构如下,那么一切都按预期工作。

-->Users
    -->app
         --> parse.py
         --> data_rate_savedata.py
         --> __init__.py
    -->main_save.py