第一种:read()
read()是最悔逗兆简单的一种方法,一次性读取文件的所有内容放在一个大字符串中,即内存中。
read()的好处:方便、简单,一次性读出文件放在一个大字符串中,速度最快。
read()的坏处:文件过大的时候,占用内存会过大。
第二种:readline()
readline()逐碧租行读取文本,结果是一个list。
readline()的好处:占用内存小,逐行读取。
readline()的坏处:逐行读取,速度比较慢。
第三种:readlines()
readlines()一次性读取文本的所有内容指旦,结果是一个list。
readlines()的好处:一次性读取文本内容,速度比较快。
readlines()的坏处:随着文本的增大,占用内存会越来越多。
import pandas as pd
import os
data=pd.read_excel('/Users/kelan/Downloads/2月5日/安徽.xlsx')
a=data.columns
df_empty=pd.DataFrame(columns=a)
for parents,adds,filenames in os.walk('/Users/kelan/Downloads/2月5日'):
for filename in filenames:
#print(os.path.join(parents,filename))
data = pd.read_excel(os.path.join(parents,filename))
df_empty=df_empty.append(data,ignore_index=True)
df_empty.to_excel('/Users/kelan/Downloads/2月5日/11.xlsx')
注意中文写乎辩贺入,os.walk会返回3个参数,分别是路径,目录list,文件list,取第一灶饥个和最后一个,最后一个遍历。ignore_index可以忽略索引。开始先在pandas中建一个dataframe,岁派columns中填写行标
# _*_ 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语句,顷纳拍用于茄团定义函数和类型的方法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)