本文实例讲述了Python实现读取并保存文件的类。分享给大家供大家参考,具体如下:
这个类写在一个叫class_format.py 的文件里, 放在D盘
1
2
3
4
5
6
|
>>> import os >>> os.chdir( "D:\\" ) >>> os.getcwd() 'D:\\' >>> os.listdir( "." ) ...... |
有一个testcsv.txt 文件放在D盘,内容如下(oi的两边有空格):
1
2
3
4
5
6
7
|
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
这个模块使用方法:
1
2
3
4
5
6
7
8
|
>>> 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文件中了
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/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程序设计有所帮助。