写csv文件时遇到的错误

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:

原文地址:https://www.cnblogs.com/dhs94/p/9038820.html

时间: 2024-10-14 16:53:02

写csv文件时遇到的错误的相关文章

Failed: error processing document #281: unexpected EOF,往MongoDB当中插入json文件时出现的错误。

往MongoDB当中插入json文件时提示的错误(我的操作系统是win10): 当时的执行命令是:mongoimport -d test -c restaurants d://primer-dataset.json 之后将 primer-dataset.json文件存入文件夹当中就可以成功插入了,执行命令为:mongoimport -d test -c restaurants d://mongoDB/primer-dataset.json 成功提示如下: 个人感觉是应该是路径选择出现的问题,我把

【 D3.js 进阶系列 — 1.2 】 读取 CSV 文件时乱码的解决方法

在 D3 中使用 d3.csv 读取 CSV 文件时,有时会出现乱码问题.怎么解决呢? 1. 乱码问题 使用 d3.csv 读取 xxx.csv 文件时,如果 xxx.csv 文件使用的是 UTF-8 编码,不会有什么问题.当然,个人认为尽量使用 UTF-8 编码,可以在同一编码内使用各国文字. 但是,如果 xxx.csv 文件使用的是 utf-8 编码,使用 Microsoft Excel 打开的时候,可能会出现乱码,因为国内的 Excel 默认使用 GB2312 打开,而且在打开的时候不能选

C#写csv文件

1.在项目中经常需要把报表下载为csv格式的文件,如何在C#中写csv文件,以下为一个简化的例子,不使用任何控件,旨在说明用法. 前端view 下载结果 2.创建一个MVC项目(Intranet Application),项目结构如下 3.各部分代码: 3.1.定义实体 using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace MvcDownLoadCsv.Mode

使用OpenCV的VideoCapture 读取.mp4文件时出现以下错误:Unable to stop the stream: Inappropriate ioctl for device

使用OpenCV的VideoCapture 读取.mp4文件时出现以下错误:Unable to stop the stream: Inappropriate ioctl for device 此问题由于未安装ffmpeg导致. sudo apt-get install ffmpeg 重新编译opecv即可. cd xx/opecv/build rm -rf * cmake ../                                //执行cmake ../后打印信息中video I/

程序写日志文件时该不该加锁

程序写日志文件时该不该加锁 日志(log) 为了让自己的思路更加清晰,下面我都会称日志为 log.因为日志这个词有两种含义,详情见百度百科释义或者维基百科释义. 日记的另一种说法.“志”字本身为“记录”的意思,日志就为每日的记录(通常是跟作者有关的). 服务器日志(server log),记录服务器等电脑设备或软件的运作. 我们这里说的当然是服务器日志,也就是  server log . 写入 log 一般写入 log 都会遵循以下步骤: int fd = open(path)write(fd,

关于MySQL中使用LOAD DATA INFILE导入csv文件时的日期格式问题

在使用MySQL时,常常会用到Load Data Infile来导入数据,在遇到Date类型的列时,有时会遇到格式转换的问题: 首先创建一张简单的people表,包含名字,生日,年龄三个字段: mysql> create table people( -> name varchar(10) NOT NULL, -> birthday date NOT NULL, -> age int NOT NULL); Query OK, 0 rows affected (0.18 sec) 构造

C#写UTF8文件时指定是否含BOM头

BOM的基本概念 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF.而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中.UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE".这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的:如果收到FFFE,就表明这个字节流是Little-Endian的.因此字符"ZERO WIDTH N

javah 生成.h文件时出现的错误

javah 時出現错误: 无法访问android.app.Activity,找不到android.app.Activity的类文件   "Run TestJni1" 或 "Debug TestJni1" 后,"D:\workspace\testjni1\bin\classes\com\example\testjni1" 目錄下會產生很多 *.class 文件,對其中的 "MainActivity.class" 進行如下操作,據

JavaCSV之写CSV文件

与JavaCSV读CSV文件相对应,JavaCSV也可以用来写数据到CSV文件中. 1.准备工作 (1)第三方包库下载地址:https://sourceforge.net/projects/javacsv (2)相关文档:http://javacsv.sourceforge.net/ 2.使用简单的读操作 (1)引入javacsv包相应的类 import com.csvreader.CsvWriter; (2)创建文件路径 String file = "src/com/xiaoming/csv/