解决使用CSV包,将写入字符串写入csv文件时字符串被拆分成很多单元的问题
写在前面:
最近在做网址的分类,需要处理一些网址数据,我是使用csv这个Python包进行文件处理的,遇到一些问题并给予记录。
遇到的问题:
如果我直接按行写入字符串,那么字符串将会分散到不同的单元格中,我使用的代码如下:
import csvall_url=['www.jcxueshu.com', 'www.lazxsf.com', 'www.741bb.com',
'492377a.com', 'www.0505se.com', 'thjchy.com',
'www.dksdrift.com', 'www.xiexie58.com', 'www.51osc.com']
with open('urltest.csv', 'w', newline='') as csvfile:writer = csv.writer(csvfile)for row in all_url:writer.writerow(row)
但是写进入的文档却是分散到不同的单元格,如下:
我希望写入到一个单元格里面。
原因:
查阅资料可以得到,在csv包中,每一个列表可以存入一个单元格。如下所示:
import csvall_url=[['www.jcxueshu.com'], ['www.lazxsf.com'], ['www.741bb.com'],
['492377a.com'], ['www.0505se.com'], ['thjchy.com'],
['www.dksdrift.com'], ['www.xiexie58.com'], ['www.51osc.com']]
with open('urltest11111.csv', 'w', newline='') as csvfile:writer = csv.writer(csvfile)for row in all_url:writer.writerow(row)
结果如下:
所以,需要把字符串转换成一个列表,如果直接使用list()转换,还是会拆分字符串。
解决方案1
可以将字符串变为列表:
import csvall_url=['www.jcxueshu.com', 'www.lazxsf.com', 'www.741bb.com','492377a.com', 'www.0505se.com', 'thjchy.com', 'www.dksdrift.com','www.xiexie58.com', 'www.51osc.com']
with open('urltest11111.csv', 'w', newline='') as csvfile:writer = csv.writer(csvfile)for row in all_url:row=[row]writer.writerow(row)
结果如下:
解决方案2
这里可以借用str.split()函数进行转换,该函数会将字符串按函数传入的参数分割,分割之后的结果是一个数组。为了让我的字符串变成列表但不被分割,我需要传入一个字符串都没有的符号,我这里是'$',代码如下
import csvall_url=['www.jcxueshu.com', 'www.lazxsf.com', 'www.741bb.com','492377a.com', 'www.0505se.com', 'thjchy.com', 'www.dksdrift.com','www.xiexie58.com', 'www.51osc.com']
with open('urltest11111.csv', 'w', newline='') as csvfile:writer = csv.writer(csvfile)for row in all_url:row=row.split('$')writer.writerow(row)
结果如下:
解决方案3
这个解决方案是我自己以前的办法,就是把存入的csv用记事本打开,然后把使用Ctrl+H把‘,’替换成‘’这个就可以解决了:
解决使用CSV包,将写入字符串写入csv文件时字符串被拆分成很多单元的问题相关推荐
- c语言从文件查找字符串,C语言文件中字符串的查找与替换?
C语言文件中字符串的查找与替换? #include #include #include #include int Count=0; int findNum(char *str) { int i=0,t ...
- java读取文件到字符串_Java读取文件到字符串
java读取文件到字符串 Sometimes while working with files, we need to read the file to String in Java. Today w ...
- linux替换某一行中字符串,linux 给文件替换字符串/替换内容/替换某行 (shell,sed)...
本文是要讲linux 不打开文档/文件的情况下,替换文本内容. 打开文档,在文档/文件内替换内容的,可以用vim,可参考这篇文章vim 替换文本 . 话题相关 #linux 文件替换字符串 #sed ...
- 解决Visual Studio 2008 下,打开.dbml(LINQ) 文件时,提示The operation could not be completed. 的问题。...
环境:XP sp3, Visual Studio2008 sp1 错误现象:打开.dbml(LINQ) 文件,提示 "The operation could not be completed ...
- 解决利用<input type=“file“>上传文件时,value拿到的是fakePath问题
问题:上传文件之后,直接获取input.value是fakePath路径,因此不能通过此路径访问到文件 解决方案: 若不想修改系统配置,可利用js代码解决 oInputFile.onchange = ...
- 解决Scrapy抓取中文网页保存为json文件时中文不显示而是显示unicode的问题
注意:此方法跟之前保存成json文件的写法有少许不同之处,注意区分 情境再现: 使用scrapy抓取中文网页,得到的数据类型是unicode,在控制台输出的话也是显示unicode,如下所示 {'au ...
- 无锚检测FCOS-运行测试文件时出错与解决(Windows+Ubuntu)
python=3.6 cudatoolkit=10.0 pytorch=1.0 torchvision=0.2.1 conda create --name FCOS python=3.6 #创建虚拟环 ...
- python怎么用split字符串全部分开_python实现字符串完美拆分split()的方法
函数:split() 例子 我们想要将以下字符串rule进行拆分.字符串表示的是一个规则,由"-"得到"-".我们需要将规则中的条件属性与取值分别提取出来,存放 ...
- 使用wcf编写坐标字符串生成shapefile文件,在iis发布供前端调用
项目有一需求,需要由坐标字符串(格式:x,y,点名)生成shapefile,由于在前台开发类似功能比较麻烦而且也不适用,最终决定使用WCF来实现,不借助现有GIS软件,基于GDAL实现. 实现过程如下 ...
最新文章
- 面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)...
- ubuntu linux 下 single node hadoop
- Winform中对DevExpress的RadopGroup的Description、Value、Tag、Text的理解与使用
- 搭架SSH服务器学习笔记
- 给apache安装mod_rewrite模块
- pjsip视频通信开发(上层应用)之EditText重写
- django报表系统_django使用echarts
- 利用MPI解决N体问题
- 20 个前端练手项目合集
- 计算机电子智能化贰级,电子与智能化工程专业承包资质分为一级、二级
- 【平衡小车制作】(二)电机驱动(超详解)
- 在自己的服务器上快速部署RSSHub
- 股票实时行情数据有哪些分类?
- 深入理解栈(Stack)
- Java 类对象基础知识--科普
- 计算机软硬件问题及解决方法(经验篇)
- 什么时候,董明珠能成功卖给记者一部格力手机?
- python实现趋势外推法
- 阿里巴巴二重身ABBC Coin虚涨逾100%
- c语言 取余 % 和除法 / 的应用技巧 (在取位数方面的)