1. 程式人生 > >寫csv文件時遇到的錯誤

寫csv文件時遇到的錯誤

typeerror open 但是 pre dmi finish rec output webdriver

1.錯誤

在許多文件中,寫入csv文件時都加"wb",w指寫入,b指二進制

如:

csvwrite=csv.writer(open("output.csv","wb")) Temp=["row1","row2","row3",] csvwrite.writerow(Temp) 或者是
#!/usr/bin/env python
#coding:utf-8

import csv
#csv寫數據
def writeCsv(file_name="C:\\Users\\Administrator\\Desktop\\test.csv"):
    with open(file_name,wb) as f:
        writer
=csv.writer(f) writer.writerow([element,system]) data=[ (selenium,webdriver), (appium,android), (appium,ios), (selenium,python)] writer.writerows(data) f.close() if __name__==__main__: writeCsv() #print(getCsv(0,0))

運行結果都會出錯:

TypeError: a bytes-like object is required, not ‘str‘
Traceback (most recent call last):
  File "E:\automatic\sc\data_driven_test\ddt_test.py", line 29, in <module>
    writeCsv()
  File "E:\automatic\sc\data_driven_test\ddt_test.py", line 9, in writeCsv
    writer.writerow([element
,system]) TypeError: a bytes-like object is required, not str [Finished in 0.4s]

2.解決方法

寫入時只添加“w”而不是“wb”

將上述代碼改為:with open(file_name,‘w‘) as f:

可執行通過,但是打開csv文件會發現每一行後面都會多一行空行

技術分享圖片

只需將代碼改為 with open(file_name,‘w‘,”newline=‘‘) as f:

技術分享圖片

寫csv文件時遇到的錯誤