我使用XLWT從.csv編寫excel文件,並將csv中的第一列作爲行的樣式。我該如何開始寫入每行第二列開始的值(如不打印出值,例如「headerStyle」)?我嘗試了幾種不同的方式,比如創建一個col_count,但沒有任何運氣。Python Excel從csv開始在第二列寫入值
row_count = 0
style = rowStyle
#Read each row and write to sheet
for row in csv_input:
#Iterate through each column
for col in range(len(row)):
if col == 0:
style = row[col]
else:
if(is_number(row[col]) == True):
sheet.write(row_count,col,float(row[col]),style)
else:
sheet.write(row_count,col,row[col],style)
#Increment row_count
row_count += 1
任何幫助表示讚賞!謝謝!
我最終搞清楚了。任何有興趣,一個問題是,風格回來了作爲一個字符串,所以我創建了一個函數來解決這個問題:
def assign_style(string):
if string=='headerStyle':
style = headerStyle
return style
然後通過同時跳過第一列下面將循環:
row_count = 0
#Read each row and write to sheet
for row in csv_input:
#Iterate through each column
for col in range(len(row)):
if col == 0:
style = assign_style(row[col])
elif(is_number(row[col]) == True):
sheet.write(row_count,col-1,float(row[col]),style)
else:
sheet.write(row_count,col-1,row[col],style)
#Increment row_count
row_count += 1
您使用您發佈的代碼獲得的輸出是什麼?另外,請記住,sheet.write是0索引的,所以在您的代碼中,CSV中的第二列(即第一列數據)將寫入電子表格的B列。 – bouteillebleu 2012-02-24 14:17:59
你說得對,我在sheet.write語句中做了col-1。我想通了,如果你有興趣,解決方案就在上面。謝謝! – ad2387 2012-02-24 15:23:28
這個問題顯然是從你以前的問題後續http://stackoverflow.com/questions/9414521/how-do-i-apply-a-style-to-the-whole-row-using-xlwt-python -excel ...你目前的解決方案是預先計算要使用的風格並將其寫入你的csv文件,這是令人驚訝的混亂。看到我對你以前的問題的答案。 – 2012-03-03 21:33:20