[英]Confusion with indentation error
再次您好,我正在用這段代碼編寫代碼,這讓我很惡心。 我已經解決了以前遇到的所有其他問題,但是現在當我運行代碼時,出現了縮進錯誤。 附上我的代碼,該錯誤的圖像會不斷彈出,以幫助您找出此問題,將不勝感激。
import csv, datetime
franchiseList = {}
with open('Franchise_Name_Scrub_List.csv', 'r') as ff:
fcf = csv.DictReader(ff)
for frow in fcf:
franchiseList[frow['Misc Franchise Name']] = frow
newrow={'Last Sale Date': '', 'Last Sale Amount': '', 'First Name': '', 'Last Name': '', 'Email Address': '', 'Franchise': '', 'State': '', 'Postal/Zip Code': '', 'Last Web Order ID': '', 'Date Added': '', 'Email Source':'', 'osg_web_dir': ''}
new_field_names = newrow.keys()
with open('SOR935csv_(1).csv', 'r') as f1, open('FACTS_bronto_import_add.csv', 'wb') as f2:
cf1 = csv.DictReader(f1, fieldnames=('CustNo1', 'CustNo2', 'LastOrderDate', 'LastOrderAmount', 'FirstName', 'LastName', 'UserNo', 'EmailAddress', 'Franchise', 'PrevOrderDate', 'PrevOrderAmount', 'State', 'ZIP', 'Amt1', 'Amt2', 'Amt3', 'SalesPerson', 'WEBID'))
cf2 = csv.DictWriter(f2, new_field_names)
cf2.writeheader()
for row in cf1:
nr = newrow
nr['Last Sale Date'] = row['LastOrderDate'].strip()
nr['Last Sale Amount'] = row['LastOrderAmount'].strip()
nr['First Name'] = row['FirstName'].strip()
nr['Last Name'] = row['LastName'].strip()
nr['Email Address'] = row['EmailAddress'].strip().split(',',1)[0]
fr_name = row['Franchise'].strip()
if fr_name in franchiseList:
nr['Franchise'] = franchiseList[fr_name]['FRANCHISE Name'].strip()
nr['Franchise'] = row['Franchise'].strip()
nr['State'] = row['State'].strip()
nr['Postal/Zip Code'] = row['ZIP'].strip()
nr['Last Web Order ID'] = row['WEBID'].strip()
nr['Date Added'] = datetime.date.today().strftime('%m/%d/%Y')
nr['osg_web_dir'] = row['SalesPerson'].strip()
nr['Email Source'] = 'FACTSauto'
print nr
cf2.writerow(nr)
import csv
newrow={'Last Sale Date': '', 'Last Sale Amount': '', 'First Name': '', 'Last Name': '', 'Email Address': '', 'Franchise': '', 'State': '', 'Postal/Zip Code': '', 'Last Web Order ID': '', 'osg_web_dir': ''}
new_field_names = newrow.keys()
with open('SOR935csv_(1).csv', 'r') as f3, open('FACTS_bronto_import_update.csv', 'wb') as f4:
cf3 = csv.DictReader(f3, fieldnames=('CustNo1', 'CustNo2', 'LastOrderDate', 'LastOrderAmount', 'FirstName', 'LastName', 'UserNo', 'EmailAddress', 'Franchise', 'PrevOrderDate', 'PrevOrderAmount', 'State', 'ZIP', 'Amt1', 'Amt2', 'Amt3', 'SalesPerson', 'WEBID'))
cf4 = csv.DictWriter(f4, new_field_names)
cf4.writeheader()
for row in cf3:
nr = newrow
nr['Last Sale Date'] = row['LastOrderDate'].strip()
nr['Last Sale Amount'] = row['LastOrderAmount'].strip()
nr['First Name'] = row['FirstName'].strip()
nr['Last Name'] = row['LastName'].strip()
nr['Email Address'] = row['EmailAddress'].strip().split(',',1)[0]
nr['Franchise'] = row['Franchise'].strip()
nr['State'] = row['State'].strip()
nr['Postal/Zip Code'] = row['ZIP'].strip()
nr['Last Web Order ID'] = row['WEBID'].strip()
nr['osg_web_dir'] = row['SalesPerson'].strip()
print nr
cf4.writerow(nr)
調整
在多行上有一個縮進問題,這要歸功於一些友善的人,這是我很容易解決的復雜問題。
使用以下命令運行腳本:
print -tt scriptname.py
並修復所有報告的錯誤。
然后將編輯器配置為僅使用空格進行縮進。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.