1.readline()
.readline()每次只读取一行,通常比 .readlines()慢得多;仅当没有足够内存可以一次读取整个文件时,才应该使用.readline()。
f = open('poem.txt','r')
result = list()
for line in open('poem.txt'):
line = f.readline()
print line
result.append(line)
print result
f.close()
open('result-readline.txt', 'w').write('%s' % '\n'.join(result))
2. readlines()
.readlines()自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for... in ... 结构进行处理。
f = open('cdays-4-test.txt', 'r') #以读方式打开文件
result = list()
for line in f.readlines(): #依次读取每行
line = line.strip() #去掉每行头尾空白
if not len(line) or line.startswith('#'): #判断是否是空行或注释行
continue #是的话,跳过不处理
result.append(line) #保存
result.sort() #排序结果
print result
open('cdays-4-result.txt', 'w').write('%s' % '\n'.join(result)) #保存入结果文件
3. csv库处理csv文件
csv.reader()
csv.writer()
csv.DictReader() .fieldnames .next() .append()
csv.DictWriter() .writeheader() .writerow()
with open(infile,'rb') as fin:
dr = csv.DictReader(fin, delimiter='\t')
# dr.fieldnames contains values from first row of `f`.
with open(outfile,'wb') as fou:
dw = csv.DictWriter(fou, delimiter='\t', fieldnames=dr.fieldnames)
dw.writerow(dict((fn,fn) for fn in dr.fieldnames))
for row in dr:
dw.writerow(row)
csv文件默认是以逗号为分隔符,如果出现错误“ParserError: Error tokenizing data. C error: Expected 1 fields in line 29, saw 2”,可以通过设置参数 sep=’\t’ ,即以tab为分隔符写入来处理。
参考:CSV读写csv文件
4. pandas
pandas.read_csv() pandas.read_csv参数详解
pandas.to_csv()
5. 其他
join用于连接字符串,split用于拆分字符串,strip用于去除每行头尾空白。