Python读写txt、csv文件
1.读文件
读入txt文件并转为数字
def loadTxt(filename):
fp = open(filename)
data = []
for lines in fp.readlines():
'''lines = lines.replace("\n", "").split(" ")
data.append(lines)'''
data.append(list(map(int, lines.replace("\n", "").split(" "))))
fp.close()
return data
读入csv文件
import csv
def loadDateSet(filename):
data = []
with open(filename) as file:
reader = csv.reader(file)
for line in reader:
data.append(line)
return data
2.写文件
写txt文件
假设要写入文件的内容为content
写文件的方式有两种:逐行写和一次性全部写入
- 逐行写
with open('test1.txt','w') as file:
for line in content:
file.write(line)
'''filr.write(line + '\n')'''
#write()不能自动分行,需要自己加入换行符
- 一次性写入
with open('test2.txt','w') as file:
file.writelines(content)
#若想不覆盖原文件内容进行写入,将'w'改成'a'即可
写csv文件
假设要写入文件的内容为content
- 逐行写
import csv
with open('test3.csv','w',newline='') as file: #python3才可使用newline='',python2.7改用'wb'即可
writer = csv.writer(file)
for line in content:
writer.writerow(line)
- 一次性写入
import csv
with open('test4.csv','w',newline='') as file:
writer = csv.writer(file)
writer.writerows(content)
新增
- 写入csv文件中文乱码问题
在向csv文件中写入中文时会出现乱码问题,解决方式:设置文件写入属性。
import csv
imort codecs
content = ['你好','中国']
with open('test5.csv','wb') as file:
file.write(codecs.BOM_UTF8)
writer = csv.writer(file)
writer.writerow(content)
注:原链接https://blog.csdn.net/Zx_whu/article/details/52260239是我自己的csdn博客,后续不打算继续使用csdn,故将原有内容迁移过来。
Created at 2016.08.20.
网友评论