Python实现读取并保存文件的类


Posted in Python onMay 11, 2017

本文实例讲述了Python实现读取并保存文件的类。分享给大家供大家参考,具体如下:

这个类写在一个叫class_format.py 的文件里, 放在D盘

>>> import os
>>> os.chdir("D:\\")
>>> os.getcwd()
'D:\\'
>>> os.listdir(".")
......

有一个testcsv.txt 文件放在D盘,内容如下(oi的两边有空格):

1
100
3000
56
34
23
 oi

这个代码的ReadData模块用到了csv.reader这个方法,delimiter='\n' 表示分隔符为换行符,quotechar=" " 表示引用字符为空格,quoting=csv.QUOTE_NONNUMERIC 表示,reader把未引用的区域转换为float类型, writer把非数值的字段用字符引用。

参考:https://docs.python.org/3/library/csv.html

这个模块使用方法:

>>> from class_format import FormatData
>>> myInstance = FormatData()
>>> read_material = myInstance.ReadData("testcsv.txt")
Data read!
>>> read_material
[1.0, 100.0, 3000.0, 56.0, 34.0, 23.0, 'oi']
>>> result = myInstance.SaveData("resultcsv.txt",read_material)
Data saved!

这样testcsv.txt中的内容就被写入 resultcsv.txt文件中了

代码如下:

#!/usr/bin/python
""" Chapter 15 of Beginning Programming With Python - For Dummies   """
import csv
class FormatData:
  def __init__(self, Name="",Age=0, Using_Vim=False):
    self.Name = Name
    self.Age = Age
    self.VimUser = Using_Vim
  def __str__(self):
    OutString = "'{0}', {1}, {2}".format(self.Name, self.Age, self.VimUser)
    return OutString
  def SaveData(self, Filename = "", DataList = []):
    with open(Filename, "w") as csvfile:
      DataWriter = csv.writer(csvfile, delimiter='\n',quotechar=" ",quoting=csv.QUOTE_NONNUMERIC)
      DataWriter.writerow(DataList)
      csvfile.close()
      print("Data saved!")
  def ReadData(self,Filename=""):
    with open(Filename, "r") as csvfile:
      DataReader = csv.reader(csvfile, delimiter='\n',quotechar=" ",quoting=csv.QUOTE_NONNUMERIC)
      Output = []
      for Item in DataReader:
        Output.append(Item[0])
      csvfile.close()
      print("Data read!")
      return Output

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python实现文本去重且不打乱原本顺序
Jan 26 Python
解析Python中的__getitem__专有方法
Jun 27 Python
Python脚本处理空格的方法
Aug 08 Python
python验证码识别教程之利用投影法、连通域法分割图片
Jun 04 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
May 16 Python
Python闭包和装饰器用法实例详解
May 22 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
Dec 31 Python
python中用Scrapy实现定时爬虫的实例讲解
Jan 18 Python
python学习之panda数据分析核心支持库
May 07 Python
详解MindSpore自定义模型损失函数
Jun 30 Python
python缺失值填充方法示例代码
Dec 24 Python
Python使用defaultdict读取文件各列的方法
May 11 #Python
python中nan与inf转为特定数字方法示例
May 11 #Python
Python和C/C++交互的几种方法总结
May 11 #Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
May 11 #Python
详解Python读取配置文件模块ConfigParser
May 11 #Python
python如何获取服务器硬件信息
May 11 #Python
浅谈Python基础之I/O模型
May 11 #Python
You might like
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
php数字转汉字代码(算法)
2011/10/08 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
2019/09/10 PHP
一种JavaScript的设计模式
2006/11/22 Javascript
用javascript做拖动布局的思路
2008/05/31 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
Javascript中引用示例介绍
2014/02/21 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
JS+CSS实现的经典tab选项卡效果代码
2015/09/16 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
JS简单实现DIV相对于浏览器固定位置不变的方法
2016/06/17 Javascript
利用Node.js制作爬取大众点评的爬虫
2016/09/22 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
2016/12/24 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
python实现多线程暴力破解登陆路由器功能代码分享
2015/01/04 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
python3实现表白神器
2019/04/09 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
倩碧澳大利亚官网:Clinique澳大利亚
2019/07/22 全球购物
澳大利亚领先的内衣店:Bendon Lingerie澳大利亚
2020/05/15 全球购物
技校毕业生的自我评价
2013/12/27 职场文书
义和团口号
2014/06/17 职场文书
高中生旷课检讨书
2014/10/08 职场文书
无犯罪记录证明样本
2015/06/16 职场文书
2015年店长个人工作总结
2015/10/23 职场文书
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers