分享

python3数据分析之读写txt文件

 hdzgx 2019-12-29

从文件中读取数据

读取整个文件

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

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

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

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

逐行读取

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

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

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

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

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

  1. f_path=r'C:\Users\LPH\Desktop\my_project\波浪和风向\波浪和风向部分数据\连云港部分数据\201706003.txt'
  2. with open(f_path) as f:
  3. lines=f.readlines()
  4. for line in lines:
  5. print(line.rstrip())

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

写入文件

写入空文件

  1. f_path=r'C:\Users\LPH\Desktop\my.txt'
  2. with open(f_path,'w') as f:
  3. f.write('I love programming!')

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

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

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

写入多行

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

  1. f_path=r'C:\Users\LPH\Desktop\my.txt'
  2. with open(f_path,'w') as f:
  3. f.write('I love programming!')
  4. f.write('I love English too!')

  1. f_path=r'C:\Users\LPH\Desktop\my.txt'
  2. with open(f_path,'w') as f:
  3. f.write('I love programming!\n')
  4. f.write('I love English too!\n')

  1. f_path=r'C:\Users\LPH\Desktop\my.txt'
  2. with open(f_path,'a') as f:
  3. f.write('I love programming!\n')
  4. f.write('I love English too!\n')

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多