在看项目的时候恰好又碰到了这两个功能,然后稍微记录一下,关于join函数,是一个经常使用的联合函数,作用就是用自己规定的字符去串联字符串和列表之类的,对于字符串来说,join函数针对的是字符串中的每一个字符元素,但是对于列表来说就是针对列表中的每一个元素,不过在字典中join只会直接串联key而不是value,所以如果要value的话要自己指定一下。

#!/usr/bin/env python
# -*- coding:utf-8 -*- 'sep'.join(sep) #第一个sep是自己想要使用的分隔符,第二个是自己想要操作的对象。
>>>str(sep1)
>>>"['%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s']"
>>>sep1.__str__()
>>>"['%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s']"
>>>''.join(sep1)
>>>'%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s'
>>>''.join('%s' * 10)
>>>'%s%s%s%s%s%s%s%s%s%s'
>>>','.join('%s' * 10)
>>>'%,s,%,s,%,s,%,s,%,s,%,s,%,s,%,s,%,s,%,s'

关于csv模块,我用的比较多的是利用csv将本地文件导入到数据库当中,所以基本上都是读文件:第一种是使用reader,第二种是使用DictReader

data = csv.reader(open(r'C:\Users\欧阳\Desktop\csv专用\test.csv', encoding='utf-8'))
rows = [row for row in data]
rows
[['\ufeff179', '阿尔布开克', 'city0000179', '', '', '', '', '', ''], ['', '安克雷奇', 'city0000180', '', '', '', '', '', ''], ['', '亚特兰大', 'city0000181', '', '', '', '', '', ''], ['', '比林斯', 'city0000182', '', '', '', '', '', ''], ['', '波士顿南', 'city0000183', '', '', '', '', '', ''], ['', '波士顿-北', 'city0000184', '', '', '', '', '', ''], ['', '芝加哥', 'city0000185', '', '', '', '', '', ''], ['', '丹佛', 'city0000186', '', '', '', '', '', ''], ['', '西雅图', 'city0000187', '', '', '', '', '', ''], ['', '莱克海瓦萨', 'city0000188', '', '', '', '', '', ''], ['', '迈阿密', 'city0000189', '', '', '', '', '', ''], ['', '休斯顿', 'city0000190', '', '', '', '', '', ''], ['', '马纳萨斯', 'city0000191', '', '', '', '', '', ''], ['', '拉斯维加斯', 'city0000192', '', '', '', '', '', ''], ['', '洛杉矶', 'city0000193', '', '', '', '', '', ''], ['', '迈阿密南部', 'city0000194', '', '', '', '', '', ''], ['', '明尼阿波利斯', 'city0000195', '', '', '', '', '', ''], ['', '纽约', 'city0000196', '', '', '', '', '', ''], ['', '奥兰多', 'city0000197', '', '', '', '', '', ''], ['', '费城', 'city0000198', '', '', '', '', '', ''], ['', '凤凰城', 'city0000199', '', '', '', '', '', ''], ['', '波特兰', 'city0000200', '', '', '', '', '', ''], ['', '盐湖城', 'city0000201', '', '', '', '', '', ''], ['', '旧金山', 'city0000202', '', '', '', '', '', ''], ['', '圣地亚哥', 'city0000203', '', '', '', '', '', ''], ['', '坦帕', 'city0000204', '', '', '', '', '', ''], ['', '卡尔加里', 'city0000205', '', '', '', '', '', ''], ['', '哈利法克斯', 'city0000206', '', '', '', '', '', ''], ['', '蒙特利尔', 'city0000207', '', '', '', '', '', ''], ['', '多伦多', 'city0000208', '', '', '', '', '', ''], ['', '温哥华', 'city0000209', '', '', '', '', '', ''], ['', '达拉斯', 'city0000210', '', '', '', '', '', ''], ['', '贝灵汉', 'city0000211', '', '', '', '', '', '']]
reader = csv.DictReader(open(r'C:\Users\欧阳\Desktop\csv专用\test.csv', encoding='utf-8'))
column = [row for row in reader]
column
[OrderedDict([('\ufeff179', ''), ('阿尔布开克', '安克雷奇'), ('city0000179', 'city0000180'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '亚特兰大'), ('city0000179', 'city0000181'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '比林斯'), ('city0000179', 'city0000182'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '波士顿南'), ('city0000179', 'city0000183'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '波士顿-北'), ('city0000179', 'city0000184'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '芝加哥'), ('city0000179', 'city0000185'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '丹佛'), ('city0000179', 'city0000186'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '西雅图'), ('city0000179', 'city0000187'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '莱克海瓦萨'), ('city0000179', 'city0000188'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '迈阿密'), ('city0000179', 'city0000189'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '休斯顿'), ('city0000179', 'city0000190'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '马纳萨斯'), ('city0000179', 'city0000191'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '拉斯维加斯'), ('city0000179', 'city0000192'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '洛杉矶'), ('city0000179', 'city0000193'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '迈阿密南部'), ('city0000179', 'city0000194'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '明尼阿波利斯'), ('city0000179', 'city0000195'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '纽约'), ('city0000179', 'city0000196'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '奥兰多'), ('city0000179', 'city0000197'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '费城'), ('city0000179', 'city0000198'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '凤凰城'), ('city0000179', 'city0000199'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '波特兰'), ('city0000179', 'city0000200'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '盐湖城'), ('city0000179', 'city0000201'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '旧金山'), ('city0000179', 'city0000202'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '圣地亚哥'), ('city0000179', 'city0000203'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '坦帕'), ('city0000179', 'city0000204'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '卡尔加里'), ('city0000179', 'city0000205'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '哈利法克斯'), ('city0000179', 'city0000206'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '蒙特利尔'), ('city0000179', 'city0000207'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '多伦多'), ('city0000179', 'city0000208'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '温哥华'), ('city0000179', 'city0000209'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '达拉斯'), ('city0000179', 'city0000210'), ('', ''), ('', ''), ('', '')]), OrderedDict([('\ufeff179', ''), ('阿尔布开克', '贝灵汉'), ('city0000179', 'city0000211'), ('', ''), ('', ''), ('', '')])]

写和读也差不多,三个步骤,显示打开文件,然后调用csv的writer方法,然后把数据写进去就可以了。

datas = [['name', 'age'], ['Bob', 14], ['Tom', 23], ['Jerry', '']]
with open('test.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in datas:
writer.writerow(row)
#还可使用writerrows写入多行

python中csv模块和join函数的使用的更多相关文章

  1. Python中threading模块的join函数

    Join的作用是阻塞进程直到线程执行完毕.通用的做法是我们启动一批线程,最后join这些线程结束,例如: for i in range(10): t = ThreadTest(i) thread_ar ...

  2. 第11.24节 Python 中re模块的其他函数

    一. re.compile函数 正则表达式编译函数,在后面章节专门介绍. 二. re.escape(pattern) re.escape是一个工具函数,用于对字符串pattern中所有可能被视为正则表 ...

  3. Python中csv模块解析

    导入模块 import csv 2.读取csv文件 file1 = open('test1.csv', 'rb') reader = csv.reader(file1) rows = [row for ...

  4. Python中random模块在主函数中设置随机种子是否对于调用的函数中的随机值产生影响?

    一个问题,加入我有一个工程文件,在main函数里面调用random模块,设置随机种子,主函数中的随机种子的设置是否会影响主函数所调用的函数中的随机值? 实际上这个问题非常重要,比如你在跑网络的时候,初 ...

  5. python中os模块的walk函数

    Python的文档中对walk的介绍: walk(top, topdown=True, onerror=None, followlinks=False) 树状目录的生成器. 对于以top参数为根的目录 ...

  6. python 中 logging 模块的 log 函数以及坑

    记录下吧,一个日志的函数,但有个坑是在调用函数时需要先将函数实例化为一个变量,否则进入某个循环时会多次刷新日志: """ 日志模块 """ ...

  7. python中string模块各属性以及函数的用法

    任何语言都离不开字符,那就会涉及对字符的操作,尤其是脚本语言更是频繁,不管是生产环境还是面试考验都要面对字符串的操作.     python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串 ...

  8. python 历险记(五)— python 中的模块

    目录 前言 基础 模块化程序设计 模块化有哪些好处? 什么是 python 中的模块? 引入模块有几种方式? 模块的查找顺序 模块中包含执行语句的情况 用 dir() 函数来窥探模块 python 的 ...

  9. python中os模块中文帮助

    python中os模块中文帮助   python中os模块中文帮助文档文章分类:Python编程 python中os模块中文帮助文档 翻译者:butalnd 翻译于2010.1.7——2010.1.8 ...

随机推荐

  1. jxls:用jx:if实现字典值格式化

    用JXLS导出excel非常方便,但是我们往往需要把字典值转为中文名称,例如1转为男,这个时候就需要用到jx:if来完成. 请见下图: jx:if(condition="obj.way==1 ...

  2. jenkins中启用tag标签

    参照里面的第9步: https://www.cnblogs.com/effortsing/p/10468840.html

  3. copyProperties 忽略null值字段

    在做项目时遇到需要copy两个对象之间的属性值,但是有源对象有null值,在使用BeanUtils来copy时null值会覆盖目标对象的同名字段属性值,然后采用以下方法找到null值字段,然后忽略: ...

  4. 利用Entity Framework修改指定字段中的值

    利用Entity Framework修改指定字段中的值一般我们编辑某些模型的时候会用到类似这样的代码: [HttpPost] public ActionResult Edit(Article mode ...

  5. 【Python学习之六】文件操作

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.文件的打开与关闭 使用open函数,可以打开一 ...

  6. Kubernetes 控制器之 Service 讲解(七)

    一.背景介绍 我们这里准备三台机器,一台master,两台node,采用kubeadm的方式进行安装的,安装过程大家可以参照我之前的博文. IP 角色 版本 192.168.1.200 master ...

  7. 【ARM-Linux开发】【CUDA开发】【视频开发】关于Linux下利用GPU对视频进行硬件加速转码的方案

    最近一直在研究Linux下利用GPU进行硬件加速转码的方案,折腾了很久,至今没有找到比较理想的硬加速转码方案.似乎网上讨论这一方案的文章也特别少,这个过程中也进行了各种尝试,遇到很多具体问题,以下便对 ...

  8. QT实现支持加密的Sqlite数据库引擎

    Sqlite数据库使用很广泛,我们经常会在发布一些小型软件的时候使用它,因为它不需要安装服务器.QT默认的数据库引擎是支持SQLITE数据库的,但并不支持对数据库加密,不加密的Sqlite数据库任何人 ...

  9. java容器——面试篇

    背景:java容器是面试中基础的基础,所以 有必要对着源码撸一遍. 进行了高度总结,首推: https://github.com/CyC2018/CS-Notes/blob/master/notes/ ...

  10. Python 获取文件类型后缀

    import os path='file.txt' file=os.path.splitext(path) filename,type=file print(filename) print(type)