Python使用csv模块读取并保存文件的类实现

周叙
周叙
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍了一个基于Python csv模块封装的文件读写类FormatData。该类通过ReadData方法读取文本文件,利用delimiter指定换行符分隔,quotechar处理空格引用,并将非数值转换为float;SaveData方法则将数据列表写入新文件。文章提供了完整的代码示例及D盘操作演示,适用于需要批量处理CSV格式数据的Python开发者。

本文详细介绍了一个用于实现文件读取与保存功能的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文本文件操作技巧汇总》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

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

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表