首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:试图导入一个循环

Python:试图导入一个循环
EN

Stack Overflow用户
提问于 2016-04-19 18:18:46
回答 1查看 175关注 0票数 1

我对用Python编程很陌生,在导入我为操作某些数据而创建的循环方面遇到了一些困难。

具体来说,在我的主脚本中,我有以下代码:

代码语言:javascript
复制
wb=xw.Workbook('/Census/B05.xls')

numbers=range(16,56)

multiples8=range(16,56,8)

data=list(set(numbers)-set(multiples8))

import loop1

在运行命令import loop1后,将得到以下错误:

代码语言:javascript
复制
  File "<ipython-input-15-d5d478cf704f>", line 10, in <module>
    import loop1

  File "loop1.py", line 8, in <module>
    for x in set(data):

NameError: name 'data' is not defined.

loop1脚本内容如下:

代码语言:javascript
复制
for x in set(data):

        if x-1 in set(multiples8): xw.Range('SQL Results','L'+str(x-1)+':S'+str(x-1)).value=xw.Range('SQL Results','D'+str(x)+':K'+str(x), atleast_2d=True).value

          else:

       if x-2 in set(multiples8): xw.Range('SQL Results','T'+str(x-2)+':AA'+str(x-2)).value=xw.Range('SQL Results','D'+str(x)+':K'+str(x), atleast_2d=True).value

         else:
            if x-3 in set(multiples8):
                    xw.Range('SQL Results','AB'+str(x-3)+':AI'+str(x-3)).value=xw.Range('SQL Results','D'+str(x)+':K'+str(x), atleast_2d=True).value
            else:
                if x-4 in set(multiples8):
                        xw.Range('SQL Results','AJ'+str(x-4)+':AQ'+str(x-4)).value=xw.Range('SQL Results','D'+str(x)+':K'+str(x), atleast_2d=True).value
                else:
                    if x-5 in set(multiples8):
                            xw.Range('SQL Results','AR'+str(x-5)+':AY'+str(x-5)).value=xw.Range('SQL Results','D'+str(x)+':K'+str(x), atleast_2d=True).value
                    else:
                        if x-6 in set(multiples8):
                                xw.Range('SQL Results','AZ'+str(x-6)+':BG'+str(x-6)).value=xw.Range('SQL Results','D'+str(x)+':K'+str(x), atleast_2d=True).value
                        else:
                            if x-7 in set(multiples8):
                                    xw.Range('SQL Results','BH'+str(x-7)+':BO'+str(x-7)).value=xw.Range('SQL Results','D'+str(x)+':K'+str(x), atleast_2d=True).value

我非常感谢你的帮助。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-19 18:26:35

尝试在loop1.py中创建一个接受data作为参数的方法,然后导入它。

代码语言:javascript
复制
# loop1.py
def my_loop(data):
    for x in set(data):
        # stuff

然后剩下的代码会读到

代码语言:javascript
复制
wb=xw.Workbook('/Census/B05.xls')

numbers=range(16,56)
multiples8=range(16,56,8)
data=list(set(numbers)-set(multiples8))

from loop1 import my_loop
my_loop(data)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36726418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档