python结果写⼊⽂件_python读取或写⼊⽂件
⼀、创建并读取⽂本⽂件
1、该⽅法需要关闭filereader对象
#!/usr/bin/env python3#读取⽂件
input_file = "F://python⼊门//⽂件//⼀个简单的⽂本⽂件.txt"filereader= open(input_file,'r')for row infilereader:print(row.strip())
filereader.close()
结果:
I'm
already
much
better
at
python
2、下⾯介绍读取⽂件的新型语法,使⽤with语句,此⽅法不需要调⽤close函数:
#!/usr/bin/env python3#读取⽂件
input_file = "F://python⼊门//⽂件//⼀个简单的⽂本⽂件.txt"with open(input_file,'r',newline='') as filereader:for row infilereader:print(row.strip())
结果:
I'm
python怎么读csv数据already
much
better
at
python
3、使⽤glob读取多个⽂本⽂件
本例导⼊了os模块和glob模块,导⼊os模块就可以使⽤它提供的若⼲路径名函数,例如os.path.join函数可以巧妙的将⼀个或多个路径成分连接在⼀起。glob模块可以出与特定模式相匹配的所有路径名。os模块和glob模块组合在⼀起使⽤,可以出特定模式的某个⽂件夹下⾯的所有⽂件。
#!/usr/bin/env python3#读取多个⽂件
importosimportglob
input_path= "F://python⼊门//⽂件"
for input_file in glob.glob(os.path.join(input_path,'*.txt')):
with open(input_file,'r',newline='') as filereader:for row infilereader:print("{}".format(row.strip()))
结果(将"F://python⼊门//⽂件"路径下的TXT⽂件的内容取出):
I'm
already
much
better
at
python
This
text
comesfroma
different
text
file.
4、针对更为复杂的CSV⽂件(含有标题和多列)
使⽤pandas
#!/usr/bin/env python3#读取⽂本⽂件
importpandas as pd
input_file= "F://python⼊门//数据//CSV测试数据.csv"output_file= "F://python⼊门//数据//CSV测试数据
copy.csv"f=open(input_file)#当我们处理的CSV⽂件名带有中⽂时,如果没有open,直接read_csv就会报错。#报错信息:OSError: Initializing from file failed
data_frame =pd.read_csv(f)print(data_frame)
_csv(output_file,index=False,encoding='gb2312')#如果没有encoding='gb2312',会出现写⼊乱码
结果,将"CSV测试数据.csv"中的数据输出到"CSV测试数据copy.csv"中。
并打印到屏幕上:
姓名 性别 年龄 总得分 电话号码
0 李刚 男32 567 185********
1 王红 ⼥ 54 423 182********
2 孙晓 ⼥ 25 457 136********
3 郭亮 男 65 350 186********
4 ⾼英 ⼥ 1
5 390 185********
ps:这些电话号码都是我瞎编的~
⼆、写⼊⽂本⽂件
1、将列表中的元素写⼊新创建的⽂件"输出⼀个新的⽂本⽂件.txt"中,元素间以制表符相隔,最后加⼊换⾏符:
#!/usr/bin/env python3#写⼊⽂本⽂件
output_file= "F://python⼊门//⽂件//输出⼀个新的⽂本⽂件.txt"my_letters= ['a','b','c','d','e','f','g','h','i','j','k','l','m','n'] max_index=len(my_letters)
filewriter= open(output_file,'w')for index_value inrange(len(my_letters)):if index_value < (max_index-1): filewriter.write(my_letters[index_value]+'\t')else:
filewriter.write(my_letters[index_value]+'\n')
filewriter.close()
结果:
a b c d e f g h i j k l m n
2、向"输出⼀个新的⽂本⽂件.txt"追加新内容
#!/usr/bin/env python3#写⼊⽂本⽂件
output_file= "F://python⼊门//⽂件//输出⼀个新的⽂本⽂件.txt"my_letters= [0,1,2,3,4,5,6,7,8,9]
max_index=len(my_letters)
filewriter= open(output_file,'a')for index_value inrange(len(my_letters)):if index_value < (max_index-1): filewriter.write(str(my_letters[index_value])+';')else:
filewriter.write(str(my_letters[index_value])+'\n')
filewriter.close()
write函数处理的是字符串,在使⽤write函数时,需要将int型数据转换成字符串格式。
结果:
a b c d e f g h i j k l m n
0;1;2;3;4;5;6;7;8;9
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论