簡體   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