python开发_csv(Comma Separated Values)_逗号分隔值_常用导入导出格式_完整版_博主推荐...

本文主要是介绍python开发_csv(Comma Separated Values)_逗号分隔值_常用导入导出格式_完整版_博主推荐...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#
# 最近出了一趟差,是从20号去的,今天回来...
# 就把最近学习的python内容给大家分享一下...
#
'''
在python中,CSV(Comma Separated Values),从字面上面理解为:逗号分隔值举个例子,如:test_csv = 'one, two, three, 4, 5'对于test_csv这个变量来说,他里面就存放着这样的值:逗号分隔的值。这样的形式在导入和导出中非常常见,如python(version:3.3.2)的API中所描述的一样:The so-called CSV(Comma Separated Values) format is the mostcommon import and export for spreadsheets and databases.csv模块定义了以下函数:csv.reader(csvfile, dialect = 'excel', **fmtparams)Retuen a reader object which will iterate over linesin the given csvfile.A short usage example:import csvwith open('eggs.csv', newline = '') as cf:spamreader = csv.reader(cf, delimiter = ' ', quotechar = '|')for row in spamreader:print(','.join(row))csv.write(csvfile, dialect = 'excel', **fmtparams)Return a writer object reaponsible for converting theuser's data into delimited strings on the given file-likeobject.A short usage example:import csvwith open('eggs.csv', 'w', newline = '') as cf:spamwrite = csv.writer(cf, delimiter = ' ', quotechar = '|', quoting = csv.QUOTE_MINIMAL)spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) '''

一下是我做的demo:

运行效果:

Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> 
The path [C:\test] dosen't exist!
Created the path [C:\test]
打开文件:[C:\test\test.csv]
写入数据:['one', 'two', 'three', 'four']
打开文件:[C:\test\test.csv]
读取行:['one,two,three,four']
one,two,three,four
##################################################
打开文件:[C:\test\test.csv]
写入数据:['one', 'two', 'three', 'four']
写入数据:['1', '2', '3']
写入数据:['a', 'b', 'c', 'd']
写入数据:['中国', '美国', '日本', '韩国', '新加坡']
打开文件:[C:\test\test.csv]
读取行:['one,two,three,four']
读取行:['1,2,3']
读取行:['a,b,c,d']
读取行:['中国,美国,日本,韩国,新加坡']
one,two,three,four
1,2,3
a,b,c,d
中国,美国,日本,韩国,新加坡
>>> 

C:\\test目录下面的情况:

====================================================

代码部分:

====================================================

  1 #python csv
  2 
  3 #Author : Hongten
  4 #MailTo : hongtenzone@foxmail.com
  5 #QQ     : 648719819
  6 #Blog   : http://www.cnblogs.com/hongten
  7 #Create : 2013-08-21
  8 #Version: 1.0
  9 
 10 import os
 11 import csv
 12 
 13 '''
 14     在python中,CSV(Comma Separated Values),从字面上面理解为:逗号分隔值
 15     举个例子,如:test_csv = 'one, two, three, 4, 5'
 16     对于test_csv这个变量来说,他里面就存放着这样的值:逗号分隔的值。这样的形式
 17     在导入和导出中非常常见,如python(version:3.3.2)的API中所描述的一样:
 18 
 19         The so-called CSV(Comma Separated Values) format is the most
 20         common import and export for spreadsheets and databases.
 21 
 22     csv模块定义了以下函数:
 23 
 24         csv.reader(csvfile, dialect = 'excel', **fmtparams)
 25             Retuen a reader object which will iterate over lines
 26             in the given csvfile.
 27     A short usage example:
 28         import csv
 29         with open('eggs.csv', newline = '') as cf:
 30             spamreader = csv.reader(cf, delimiter = ' ',  quotechar = '|')
 31             for row in spamreader:
 32                 print(','.join(row))
 33 
 34         csv.write(csvfile, dialect = 'excel', **fmtparams)
 35             Return a writer object reaponsible for converting the
 36             user's data into delimited strings on the given file-like
 37             object.
 38 
 39     A short usage example:
 40         import csv
 41         with open('eggs.csv', 'w', newline = '') as cf:
 42             spamwrite = csv.writer(cf, delimiter = ' ', quotechar = '|', quoting = csv.QUOTE_MINIMAL)
 43             spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
 44             spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
 45 '''
 46 
 47 #global var
 48 SHOW_LOG = True
 49 #csv file apth
 50 CSV_FILE_PATH = ''
 51 
 52 def write_data_2_csv_file(path, data):
 53     '''把数据写入到csv文件
 54     这里对要写入的数据进行限制,
 55     数据格式为一个列表:['one', 'two', 'three', 'four']
 56     '''
 57     if SHOW_LOG:
 58         print('打开文件:[{}]'.format(path))
 59     with open(path, 'w', newline = '') as cf:
 60         writer = csv.writer(cf, delimiter = ',', quotechar = '|', quoting = csv.QUOTE_MINIMAL)
 61         if SHOW_LOG:
 62             print('写入数据:{}'.format(data))
 63         writer.writerow(data)
 64     
 65 def write_datas_2_csv_file(path, datas):
 66     '''把数据写入到csv文件
 67     这里对要写入的数据进行限制,
 68     数据格式为一个列表,列表里面的每一个元素都是一个列表:
 69     [
 70     ['one', 'two', 'three', 'four'],
 71     ['1', '2', '3'],
 72     ['a', 'b', 'c', 'd']
 73     ]
 74     '''
 75     if SHOW_LOG:
 76         print('打开文件:[{}]'.format(path))
 77     with open(path, 'w', newline = '') as cf:
 78         writer = csv.writer(cf, delimiter = ',', quotechar = '|', quoting = csv.QUOTE_MINIMAL)
 79         for row in datas:
 80             if SHOW_LOG:
 81                 print('写入数据:{}'.format(row))
 82             writer.writerow(row)
 83 
 84 def read_csv_file(path):
 85     '''读取指定的csv文件,并且把csv文件的内容以字符串的形式返回'''
 86     if os.path.exists(path):
 87         if SHOW_LOG:
 88             print('打开文件:[{}]'.format(path))
 89         content = ''
 90         with open(path, newline = '') as cf:
 91             reader = csv.reader(cf, delimiter = ' ', quotechar = '|')
 92             try:
 93                 for row in reader:
 94                     if SHOW_LOG:
 95                         print('读取行:{}'.format(row))
 96                     c = ','.join(row) +'\n'
 97                     content += c
 98                 return content[0:-1]
 99             except csv.Errow as e:
100                 sys.exit('file {}, line {} : {}'.format(path, reader.line_num, e))
101     else:
102         print('不存在文件:[{}]'.format(path))
103                 
104 def mkdirs(path):
105     '''创建多级目录'''
106     if os.path.exists(path):
107         if SHOW_LOG:
108             print('The path [{}] existing!'.format(path))
109     else:
110         if SHOW_LOG:
111             print('The path [{}] dosen\'t exist!'.format(path))
112         os.makedirs(path)
113         if SHOW_LOG:
114             print('Created the path [{}]'.format(path))
115 
116 def get_path(absPath):
117     '''获取到一个绝对路径的目录,
118     如绝对路径:'C:\\test\\test.csv'
119     则返回的是'C:\\test'
120     '''
121     if os.path.exists(absPath):
122         if SHOW_LOG:
123             print('the path [{}] existing!'.format(absPath))
124         return os.path.split(absPath)[0]
125     else:
126         return os.path.split(absPath)[0]
127 
128 def init():
129     global SHOW_LOG
130     SHOW_LOG = True
131     global CSV_FILE_PATH
132     CSV_FILE_PATH = 'C:\\test\\test.csv'
133     csv_dir = get_path(CSV_FILE_PATH)
134     mkdirs(csv_dir)
135         
136 def main():
137     init()
138     data = ['one', 'two', 'three', 'four']
139     datas = [
140     ['one', 'two', 'three', 'four'],
141     ['1', '2', '3'],
142     ['a', 'b', 'c', 'd'],
143     ['中国', '美国', '日本', '韩国', '新加坡']
144     ]
145     write_data_2_csv_file(CSV_FILE_PATH, data)
146     content = read_csv_file(CSV_FILE_PATH)
147     print(content)
148     print('#' * 50)
149     write_datas_2_csv_file(CSV_FILE_PATH,  datas)
150     content = read_csv_file(CSV_FILE_PATH)
151     print(content)
152 
153     
154 if __name__ == '__main__':
155     main()

 

转载于:https://www.cnblogs.com/hongten/p/hongten_python_csv.html

这篇关于python开发_csv(Comma Separated Values)_逗号分隔值_常用导入导出格式_完整版_博主推荐...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/abxlep7702/article/details/102067988
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/291614

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用