往scv文件中写数据时会自动添加双引号?
原代码
import csv# 往csv文件中写内容
con = 'Boo,186'
with open("test.csv", "w", encoding="gbk", newline="") as file:csv_writer = csv.writer(file)csv_writer.writerow([con])f.close()
程序运行后使用cat命令查看
>> cat test.csv
"Boo,186"
首尾会有双引号
导致后续操作数据时候因没有处理双引号而报错
原因
在 Python 中使用 csv 模块写入 csv 文件时,如果某一单元格中包含了分隔符(如逗号、分号等)或换行符等特殊字符,那么会在该单元格的两端添加双引号,以保证数据的准确性和完整性。
解决方式
如果你不希望在 csv 文件中看到双引号,可以使用 csv.writer() 函数中的 quoting 参数来指定不使用引号,例如:
import csvcon = 'Boo,186'
with open('test.csv', 'w', newline='') as file:writer = csv.writer(file, delimiter=',', quoting=csv.QUOTE_NONE)writer.writerow([con])
此时运行报错_csv.Error: need to escape, but no escapechar set
出现这个错误的原因是:如果某一单元格中包含了分隔符(如逗号、分号等)或换行符等特殊字符,那么需要使用转义字符来将其转义,否则会出现 _csv.Error: need to escape, but no escapechar set
的报错。
解决方法是在 csv.reader 或 csv.writer 中指定 escapechar 参数
例如我的字符串中包含的是“,” ,所以需要添加参数 escapechar=‘,’
完整代码
import csvcon = 'Boo,186'
with open('test.csv', 'w', newline='') as file:writer = csv.writer(file, delimiter=',', quoting=csv.QUOTE_NONE, escapechar=',')writer.writerow([con])
扩展
- csv读取xls文件逗号丢失?
原代码
csv_reader = csv.reader(csv_file)
for row in csv_reader:print(row)
在Python中,使用csv库读取csv文件时,默认的字段分隔符是逗号(‘,’)。如果csv文件中的字段分隔符不是逗号,可以使用delimiter参数来指定分隔符。delimiter参数可以接受任何单个字符作为分隔符,例如制表符(‘\t’)或空格(’ ')等。
读取xls文件应该用制表符“\t”作为分隔符,此时指定分隔符即可 delimiter='\t'
修改后
csv_reader = csv.reader(csv_file, delimiter='\t')
for row in csv_reader:print(row)
往scv文件中写数据时会自动添加双引号?相关推荐
- 往文件中写数据--增量
有的功能需要打印日志文件,但是日志文件太多不方便查看,我就把信息输出到一个TXT文件中了. 下面就是我将要说的,往文件中写数据(增量),代码很简单,也可以放在你的代码中运行一下: /** 往文件中写数 ...
- Linux中使用shell脚本向文件中写数据
以前没写过shell脚本,懂得一些Linux的操作命令.看了网上一些shell脚本的方法.总结,发现用脚本将一些数据写入文件比较实用.遂举例如下: #!/bin/bash #Test echo &qu ...
- Java 往文件中写数据,新写入的数据总是覆盖原有数据
参考https://blog.csdn.net/jack_bob/article/details/78430565 第一种 使用FileOutputStream, 在构造FileOutputStrea ...
- 用python向txt文件中写数据时的追加和覆盖问题
转自https://blog.csdn.net/weixin_39963132/article/details/85197397 1.原来的打开文件的方式是: file = open(pathTxt, ...
- Java读取、写入、处理Excel文件中的数据
在日常工作中,我们常常会进行文件读写操作,除去我们最常用的纯文本文件读写,更多时候我们需要对Excel中的数据进行读取操作,本文将介绍Excel读写的常用方法,希望对大家学习Java读写Excel会有 ...
- python读文件和写文件-python开发--从文件中读取数据和写入文件
#! /usr/bin/env python -*- coding:utf-8 -*- """ @Author:gcan @Email:1528667112@qq.com ...
- oracle 控制文件 scn,重建控制文件后, 控制文件中的数据文件检查点SCN来自哪里...
重建控制文件后, 控制文件中的数据文件检查点SCN来自哪里 这个问题要看具体的情况,比如: 1. 数据库是shutdown immediate,也就是说数据库是一致的状态,重建控制文件后,SCN 以d ...
- mysql 导入tsv文件_HBase数据迁移(2)- 使用bulk load 工具从TSV文件中导入数据
英文原文摘自:<HBase Administration Cookbook>??编译:ImportNew?-?陈晨 本篇文章是对数据合并的系列文章之二(共三篇),针对的情景模式就是将现有的 ...
- 教你如何用 Lua 操作文件中的数据
了解 Lua 如何处理数据的读写. 有些数据是临时的,存储在 RAM 中,只有在应用运行时才有意义.但有些数据是要持久的,存储在硬盘上供以后使用.当你编程时,无论是简单的脚本还是复杂的工具套件,通常都 ...
最新文章
- github 思维导图开元软件_画思维导图记笔记的工具软件
- React Native 项目常用第三方组件汇总
- Arduino--DHT11温湿度传感器
- Windows——蓝屏[失败的操作:HardwareProtect_x64.sys]解决方案
- boost::gregorian模块实现打印一个月中的所有日期的测试程序
- 认知:什么是真正的产品思维?
- 个人房贷为啥又贵又难贷 一个房贷银行有3套逻辑
- this compilation unit is not on the build of a java project
- python优雅编程_Python——traceback的优雅处理
- Java 十大常用框架
- c语言工具栏运行不见了,电脑下面的任务栏不见了怎么办 几种方法介绍
- 国外 2D 游戏引擎相关站点
- JavaScript归纳总结
- Tensorboard无法显示图像
- Linux环境中第一行dpa,nvdimm
- JAVAWEB常用测试浏览器
- java正则基本用法
- web前端期末大作业 html+css+javascript网页设计实例 企业网站制作内容
- linux乱码文件删不掉,linux删除乱码文件或文件夹
- 7.6 Python 实例12-政府工作报告词云