python读取文件内容(Python读取文件内容并将其中的数字加2)
python如何读取文件的内容
# _*_ coding: utf-8 _*_
import pandas as pd
# 获取文件的内容
def get_contends(path):
with open(path) as file_object:
contends = file_object.read()
return contends
# 将一行内容变成数组
def get_contends_arr(contends):
contends_arr_new = []
contends_arr = str(contends).split(']')
for i in range(len(contends_arr)):
if (contends_arr[i].__contains__('[')):
index = contends_arr[i].rfind('[')
temp_str = contends_arr[i][index + 1:]
if temp_str.__contains__('"'):
contends_arr_new.append(temp_str.replace('"', ''))
# print(index)
# print(contends_arr[i])
return contends_arr_new
if __name__ == '__main__':
path = 'event.txt'
contends = get_contends(path)
contends_arr = get_contends_arr(contends)
contents = []
for content in contends_arr:
contents.append(content.split(','))
df = pd.DataFrame(contents, columns=['shelf_code', 'robotid', 'event', 'time'])
扩展资料:
python控制语句
1、if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。
2、for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。
3、while语句,当条件为真时,循环运行语句块。
4、try语句,与except,finally配合使用处理在程序运行中出现的异常情况。
5、class语句,用于定义类型。
6、def语句,用于定义函数和类型的方法。
Python文件读写
常见的读写操作:
Python内置了读写文件的函数,用法和C是兼容的。本节介绍内容大致有:文件的打开/关闭、文件对象、文件的读写等。仅示例介绍 TXT 类型文档的读写,也就是最基础的文件读写,也需要注意编码问题;
open()?? close()???? with open(...) as ...
看以下示例就能了解 Python?的 open()?及?close()?函数。这边调用 read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示,具体使用参见下文。
在 E 盘 python_file 文件夹下新建一 a.txt,输入随意,如下:
Python 操作 打开及关闭方式 如下:
注意 open() 之后 一定要 close()。但由于文件读写时都可能产生IOError,为了保证无论是否出错都能正确地关闭文件,我们用 try ... finally 来实现:
python 简化了改写法,即用 with open(...) as ...? ; 建议之后文件读写都用该写法:
上面,你肯定注意到了参数 "r";该参数决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
相关参数:
File 对象
file 为一对象,它有一些内置属性,如下
file对象的属性:
read()??? read(size)?? readline()?? readlines()
之前的例子已经接触到了 read() 函数,该函数会会一次性读取文件的全部内容,如果能确保文件的大小,自然可以。但若文件过大,内存就爆了,所以,可以反复调用read(size)方法,每次最多读取size个字节的内容;也可调用 readline() 每次读取一行内容;而调用readlines()可以一次读取所有内容并按行返回list。总之,根据需求来。仅以 txt 文件为例,其他的文件读取需要特殊处理;另外,文件的格式编码方式也需要注意;这边仅介绍读取方法,其他的会出专题来学习。
在D:\python_file 下新建 poet.txt;示例如下,由于一个中文会占多个字节,故read(size) 部分会乱码,如:
write()
写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件;'a' 对应的表示追加等。
如下示例,由于 write.txt 文件不存在,创建该文件并写入:
在上例基础上,继续,该文件被重写:
继续,这次使用追加,会在文件结尾追加:
Python按行读取文件的简单实现方法
Python按行读取文件的简单实现方法
下面小编就为大家带来一篇Python按行读取文件的简单实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。
1:readline()
file = open("sample.txt")
while 1:
line = file.readline()
if not line:
break
pass # do something
file.close()
一行一行得从文件读数据,显然比较慢;
不过很省内存;
测试读10M的sample.txt文件,每秒大约读32000行;
2:fileinput
import fileinput
for line in fileinput.input("sample.txt"):
pass
写法简单一些,不过测试以后发现每秒只能读13000行数据,效率比上一种方法慢了两倍多;
3:readlines()
file = open("sample.txt")
while 1:
lines = file.readlines(100000)
if not lines:
break
for line in lines:
pass # do something
file.close()
用同样的数据测试,它每秒可以读96900行数据!效率是第一种方法的3倍,第二种方法的7倍!
4:文件迭代器
每次只读取和显示一行,读取大文件时应该这样:
file = open("sample.txt")
for line in file:
pass # do something
file.close()
以上就是小编为大家带来的Python按行读取文件的简单实现方法全部内容了
Python读取文件内容的方法有几种
python读取文本文件内容的方法主要有三种:read()、readline()、readlines()。
第一种:read()
read()是最简单的一种方法,一次性读取文件的所有内容放在一个大字符串中,即内存中。
read()的好处:方便、简单,一次性读出文件放在一个大字符串中,速度最快。
read()的坏处:文件过大的时候,占用内存会过大。
第二种:readline()
readline()逐行读取文本,结果是一个list。
readline()的好处:占用内存小,逐行读取。
readline()的坏处:逐行读取,速度比较慢。
第三种:readlines()
readlines()一次性读取文本的所有内容,结果是一个list。
readlines()的好处:一次性读取文本内容,速度比较快。
readlines()的坏处:随着文本的增大,占用内存会越来越多。
python怎样读取txt文件的数据内容
我们使用python的时候经常需要读取txt文件中的内容,那么该如何读取呢?下面我给大家分享一下。
01
首先我们新建一个txt文件,在里面写入一些内容,如下图所示
02
接下来打开运行界面,输入CMD命令,如下图所示
03
然后进入CMD界面以后我们输入python命令进入python环境,如下图所示
04
最后我们通过python中的open方法打开txt文件,然后通过read方法读取文件内容,如下图所示
python读写文件
读文件
? ? 1)使用open()方法打开文件,返回一个文件对象
? ? ? ? 原型:open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)
? ? ? ? 举例:f = open('test.txt', 'r')
? ? ? ? test.txt表示文件路径(包含文件名,这个file参数可以是绝对或者相对路径)
? ??????r表示是读文本文件,rb是读二进制文本文件。(这个mode参数默认值就是r)
????2)使用close()方法关闭文件
? ??????f.close()
? ? ? ? 打开后的文件必须关闭,因为文件对象会占用系统资源,系统打开文件数量也就有限了
? ??3)打开文件时的异常处理
? ??????f=open('test.txt', 'r')
? ? ? ? f.read()
? ? ? ? f.close()
????????FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'
????????文件读写时都有可能产生异常IOError(比如文件不存在),这样其后面的f.read(),f.close()就不会调用。为保证无论是否异常都可以关闭文件,一般使用try ... finally来处理:
? ??????try:
? ? ????????f = open('test.txt', 'r')
? ? ? ? ? ? f.read()
????????finally:
? ? ????????if f:
? ? ? ? ????????f.close()
????????但这种写法过于繁琐,所以Python引入了with语句来自动调用close()方法:
????????with open('test.txt', 'r') as f:
????????????f.read()
? ? 4)读文件 - read()、readline() 和 readlines()
????????read() 一次读取整个文件,它通常用于将文件内容放到一个字符串变量中。如果文件过大,内存不够,可以通过反复调用read(size)方法,每次最多读取size个字节的内容。
????????readline() 一次读取文件中一行内容,可反复调用
????????readlines() 一次读取所有内容并按行返回列表,该列表可以由for ... in ... 结构再进一步处理。
? ? ? ? 特别注意:
????????这三种方法是把每行末尾的'\n'也读进来了,如有需要就得我们手动去掉'\n'
????????with open('test.txt', 'r') as f:
? ? ????????list = f.readlines()
????????for i in range(0, len(list)):
? ? ????????list[i] = list[i].rstrip('\n')
写文件
? ? 1)写文件和读文件是一样的,唯一区别是open文件时,传入标识符不同,即'w'或者'wb'表示写文本文件或写二进制文件
????f = open('test.txt', 'w')
????f = open('test.txt', 'wb')
????f = open('test.txt', 'a')
? ? f.close()
? ? 特别注意:
? ? 1. 如果没有这个文件,会自动创建一个新文件;如果有,就会先把原文件的内容清空再写入;若不想清空原来的内容而是直接在后面追加新的内容,就用'a'这个模式
? ? 2. 写文件,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。
? ??2)写文件 - write()、writelines()
? ??write()方法和read()、readline()方法对应,是将字符串写入到文件中。
????writelines()方法和readlines()方法对应,也是针对 列表 的操作。它接收一个 字符串列表 作为参数,将他们写入到文件中。
? ? 特别注意:
? ? 换行符不会自动的加入,需要显式的加入换行符。
? ??f = open('test.txt', 'w')
????f.writelines(["111\n", "222\n", "333\n"])
补充说明:
1)对于非默认编码(utf-8)的文件,需要open时添加encording参数,选择对应的编码方式
2)r+, w+, a+,可读可写
3)seek()方法,移动文件指针
seek(offset[, whence]) ,offset是相对于某个位置的偏移量。位置由whence决定,默认whence=0,从开头起;whence=1,从当前位置算起;whence=2相对于文件末尾移动,通常offset取负值。