zoukankan      html  css  js  c++  java
  • 数据结构转换


    # Project: Local
    # Create time: 2019-12-30 19:13
    import pandas as pd


    def read_excel(excel_path):
    excel_data = pd.read_excel(excel_path, encoding='gbk', header=None, names=['data_str'])
    print(excel_data)
    excel_data['data_str'] = excel_data['data_str'].apply(lambda x: modify_data_str(x))
    excel_data['data_length'] = excel_data['data_str'].apply(lambda x: get_data_str_length(x))
    return excel_data


    def modify_data_str(data_str):
    data_str = data_str.replace('"', '').replace('”', '').replace('“', '').replace(',', ',').replace('[', '').replace(
    ']', '').replace(':', ':')
    return data_str


    def split_data_str(data_str):
    data_list = []
    column_name, row_values = data_str.split(':')
    column_name, row_values = column_name.strip(), row_values.strip()
    row_value_list = [i.strip() for i in row_values.split(',')]
    data_list.append(column_name)
    data_list.extend(row_value_list)
    return data_list


    def get_data_str_length(data_str):
    data_length = data_str.count(',') + 1
    return data_length


    def classify_sql_data(excel_data):
    data_length_list = excel_data['data_length'].unique()
    for data_length in data_length_list:
    sql_data = excel_data[excel_data['data_length'] == data_length]
    output_sql_data = pd.DataFrame(index=range(data_length))
    for data_str in sql_data['data_str'].values:
    column_name, *values = split_data_str(data_str)
    output_sql_data[column_name] = values
    yield output_sql_data


    excel_path = r'D:Filespycharm_projsLocalxgxsql_testdata.xlsx'
    excel_data = read_excel(excel_path)

    for i in classify_sql_data(excel_data):
    print(i)

    # sql_str = r'"pppp":["苏州",“杭州”,“无锡”]'
    # sql_str = sql_str.replace('”', '"').replace('“', '"')
    # import re
    #
    # sql_str = re.findall('"(.+?)"', sql_str)
    # sql_str = [i.strip() for i in sql_str]
    # print(sql_str)
    # if __name__ == '__main__':
    # def read_excel(excel_path):
    # """
    # 解析excel
    # """
    # pass
    # return
    #
    #
    # def classify_excel(excel_data, length):
    # pass
    # return excel_data
    #
    #
    # def parse_excel(excel_data):
    # pass
    # return excel_data






  • 相关阅读:
    2016"百度之星"
    codeforces 55 div2 C.Title 模拟
    codeforces 98 div2 C.History 水题
    codeforces 97 div2 C.Replacement 水题
    codeforces 200 div2 C. Rational Resistance 思路题
    bzoj 2226 LCMSum 欧拉函数
    hdu 1163 九余数定理
    51nod 1225 余数的和 数学
    bzoj 2818 gcd 线性欧拉函数
    Codeforces Round #332 (Div. 2)D. Spongebob and Squares 数学
  • 原文地址:https://www.cnblogs.com/avivi/p/12121705.html
Copyright © 2011-2022 走看看