您的位置:首页 > 编程语言 > Python开发

python数据分析之读写txt文件

2018-08-28 17:18 309 查看

从文件中读取数据

读取整个文件

[code]f_path=r'C:\Users\LPH\Desktop\my_project\波浪和风向\波浪和风向部分数据\连云港部分数据\201706003.txt'
with open(f_path) as f:
contents=f.read()
print(contents)

函数open返回一个表示文件的对象,对象存储在f中

关键字with在不需要访问文件时将其自动关闭。

读取出的内容以字符串形式保存在contents里

逐行读取

[code]f_path=r'C:\Users\LPH\Desktop\my_project\波浪和风向\波浪和风向部分数据\连云港部分数据\201706003.txt'
with open(f_path) as f:
for line in f:
print(line)

发现行间距比读取整个文件时大了很多,因为每一行都有末尾都有一个看不见的换行符,而print语句也会加上换行符。要消除这些多余空白行,可以在print语句中使用rstrip()

[code]f_path=r'C:\Users\LPH\Desktop\my_project\波浪和风向\波浪和风向部分数据\连云港部分数据\201706003.txt'
with open(f_path) as f:
for line in f:
print(line.rstrip())

创建一个包含文件各行内容的列表

使用系统关键字with时,open()返回的文本对象只在with代码块内使用。如果要在with代码块之外访问文件的内容,可以在with代码块中将文件各行存储在一个列表中,并在with代码块外使用该列表。

[code]f_path=r'C:\Users\LPH\Desktop\my_project\波浪和风向\波浪和风向部分数据\连云港部分数据\201706003.txt'
with open(f_path) as f:
lines=f.readlines()

for line in lines:
print(line.rstrip())

读取文本文件时,python将其中的所有文本都解读为字符串。如果读取的是数字,并要将其作为数值使用,就必须使用函数int()将其转化为整数。或使用float()将其转换为浮点数。

写入文件

写入空文件

[code]f_path=r'C:\Users\LPH\Desktop\my.txt'

with open(f_path,'w') as f:
f.write('I love programming!')

实参‘w’告诉python以写入模式打开文件。打开文件时,可以指定读取方式('r':读取  'w':写入  ‘a’ 附加  'r+' 读取和写入  )默认为只读模式。

若写入的文件不存在,函数open()将自动创建。以写入模式打开文件时,注意如果文件已存在,python将在返回文件对象前清空文件。若不想清空,可以以追加的方式创建。

python只将字符串写入文本文件。要将数值数据存储到文本文件中,必须先使用函数str()将其转换为字符串格式。读出的也是字符串

写入多行

函数write不会在写入的文本末尾添加换行符

[code]f_path=r'C:\Users\LPH\Desktop\my.txt'

with open(f_path,'w') as f:
f.write('I love programming!')
f.write('I love English too!')

[code]f_path=r'C:\Users\LPH\Desktop\my.txt'

with open(f_path,'w') as f:
f.write('I love programming!\n')
f.write('I love English too!\n')

[code]f_path=r'C:\Users\LPH\Desktop\my.txt'

with open(f_path,'a') as f:
f.write('I love programming!\n')
f.write('I love English too!\n')

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: