當我將這個字符串寫入StringIO的格式更改時,該怎麼辦?使用csv.writer向StringIO寫入字符串,爲什麼會添加額外的字符?
header = '\r\n'.join(
[unicode(line,'utf8') for line in
['"Text"',
'"More Text"',
'',]])
print header
輸出:
"Text"
"More Text"
而現在將它添加到我的StringIO的:
si = StringIO.StringIO()
writer = csv.writer(si)
writer.writerow(header))
si.getvalue()
輸出:
'"""",T,e,x,t,"""","\r","\n","""",M,o,r,e, ,T,e,x,t,"""","\r","\n"\r\n'
爲什麼加逗號和額外"
字符?
這是因爲頭已經是一個字符串,然後你遍歷的那個人物,所以只是直接刪除for循環和寫頭文件 – SirParselot
@SirParselot我看到,我的非StringIO代碼工作的原因是因爲它正在使用新行寫入所有字符,但是一旦我寫入.csv,新行就全部消失。我正在編輯我的問題,我的新問題... – steven
不,我的意思是'在標題循環中的行。 'header'是一個如此循環的字符串,它會給你每個字符,所以'line'實際上是一個字符。 – SirParselot