python读取文件的内容并解析

文章最前: 我是Octopus,这个名字来源于我的中文名--章鱼;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github ;这博客是记录我学习的点点滴滴,如果您对 Python、Java、AI、算法有兴趣,可以关注我的动态,一起学习,共同进步。

相关文章:

  1. LeetCode:55. Jump Game(跳远比赛)
  2. Leetcode:300. Longest Increasing Subsequence(最大增长序列)
  3. LeetCode:560. Subarray Sum Equals K(找出数组中连续子串和等于k)

文章目录:

一,python解析文件:

二,用json读取数组数据:


一,python解析文件:

 1)读取文件存入内存

 2)然后根据字符串进行处理

3)最后将数据转换成数组

4)最后利用dataframe解析数据

# _*_ 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'])
    print(df)

二,用json读取数组数据:

# _*_ coding: utf-8 _*_
import pandas as pd
import json

file = open("event.txt")
context = file.readline()
data = json.loads(context)
data = data['data']
pd.DataFrame(data, columns=['shelfCode', 'robotId', 'action', 'time'])

第二种方法比较简洁,更适合于生产环境

你可能感兴趣的:(python)