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

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

本文介绍了一个基于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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。