本文实例讲述了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程序设计有所帮助。