繁体   English   中英

我在写一个方法,但是缩进块时出现错误

[英]I am writing a method but i get error expected an indented block

我正在练习向csv文件Python 2.7编写代码,我的代码可以正常工作,但是我试图将其中的某些代码移到使用def的方法中,但出现错误:

write_to_csv = csv.writer(csvfile, delimiter=' ',
               ^
IndentationError: expected an indented block

Process finished with exit code 1

我知道缩进是错误的,我曾尝试使用Tab键将行移进去,但不知道哪一行以及要缩进多少。 错误仍然显示。

我的代码段是:

def writeTo_csv():
""""""
with open('test.csv', 'wb') as csvfile:
    write_to_csv = csv.writer(csvfile, delimiter=' ', quotechar='|',       quoting=csv.QUOTE_MINIMAL)
    write_to_csv.writerow(['id,' 'TITLE,' 'FNAME,' 'SNAME,' 'GENDER,'])

if __name__ == "__main__":
fake = Factory.create()
create_fake_stuff(fake)
writeTo_csv()

您的缩进为您的def搞砸了:

应该 ...

def writeTo_csv():
    with open('test.csv', 'wb') as csvfile:
        write_to_csv = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
        write_to_csv.writerow(['id,' 'TITLE,' 'FNAME,' 'SNAME,' 'GENDER,'])

还有你的主

if __name__ == "__main__":
    fake = Factory.create()
    create_fake_stuff(fake)
    writeTo_csv()
def writeTo_csv():
    """""" # if you don't want a docstring remove       
    # indent 
    with open('address_base_test.csv', 'wb') as csvfile:
        write_to_csv = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
        write_to_csv.writerow(['id,' 'TITLE,' 'FNAME,' 'SNAME,' 'GENDER,'])

if __name__ == "__main__":
     fake = Factory.create() # indent
     create_fake_stuff(fake)
     writeTo_csv()

您还可以使用逗号分隔引号内的字符串,因此它将被视为可能不是您想要的单个字符串,如果您希望使用单个字符串,则可以将其写为一个:

['id,' 'TITLE,' 'FNAME,' 'SNAME,' 'GENDER,'] # <- no commas between string

In [45]: print 'id,' 'TITLE,' 'FNAME,' 'SNAME,' 'GENDER,'
id,TITLE,FNAME,SNAME,

等效于'id,TITLE,FNAME,SNAME,GENDER,'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM