【Python实战】-- csv数据汇总

系列文章目录


前言


一、批量解压

文件夹格式

在这里插入图片描述

解压后

在这里插入图片描述

二、Summary

遍历指定路径下所有满足条件的csv文件,并按需求将其指定区域数据汇总到一个sheet;

1.源码

代码如下(示例):

#xlwt只支持xls格式,xlsx格式需要用openpyxl或pandas
# -*- coding: utf-8 -*-  
# coding=gbk

import pandas as pd
import os 
import xlrd
import xlwt
import csv
from xlutils.copy import copy
from openpyxl import Workbook
from openpyxl import load_workbook
from os.path import dirname
from decimal import Decimal
from openpyxl.utils.dataframe import dataframe_to_rows
# 读写2007 excel
import openpyxl
from openpyxl.styles import numbers
from openpyxl.styles import Alignment
import glob
 
def some_function():
    global global_var
    global global_var_r
    global_var = col1
    global_var_r = row1

def get_allfile_msg(file_dir):
    for root, dirs, files in os.walk(file_dir):
        return root, dirs, [file for file in files if file.endswith('.xls') or file.endswith('.xlsx') or file.endswith('.csv')] 

def get_allfile_url(root, files):
    allFile_url = []
    for file_name in files:
        file_url = root + "/" + file_name
        allFile_url.append(file_url)
    return allFile_url

def get_file_name(path, suffix = ['.xlsx', '.xls','.csv']):  #'.xlsx', '.xls',
    tmp_lst = []
    for root,dirs,files in os.walk(path):
        for file in files:
            tmp_lst.append(os.path.join(root, file))
    return tmp_lst

def convert_csv_to_xlsx(csv_file_path,xlsx_file_path):
    df = pd.read_csv(csv_file_path)
    df.to_excel(xlsx_file_path,index=False)    

#定义读取csv_pandas
def read_csv_file(file_path):
    #参数:error_bad_lines=False跳过错误的行 delimiter=',',encoding = 'gbk',header = 0, engine='python'  sep = r"\s+\s{0}"  encoding = "iso-8859-1"
    return pd.read_csv(file_path,encoding = 'latin1',sep = r"\s+\s{0}",dtype=object,quotechar="'",delimiter=',',doublequote=True,engine="python",header = 1)   #第2行作为表头

#定义一个函数来尝试将字符串转换为十进制数字
def try_convert_to_decimal(value):
    try:
        return Decimal(value)
    except (TypeError, DecimalException):
        return None

#定义csv求和
def sum_csv_column(filename,column_index):
    total = 0
    with open(filename, mode='r', newline='') as csvfile:  #mode = 'r'
        csvreader = csv.DictReader(csvfile, delimiter=",")
        headers = next(csvreader) #跳过标题行
        for row in csvreader:
            if len(row) > column_index :  #and row[column_index].isdigit()
                total += int(row[column_index])
    return total

def calculate_sum_in_csv(file_path,row_start,row_end,col_start,col_end):
    df = pd.read_csv(file_path ,encoding='utf-8')
    subset = df.iloc[row_start:row_end,col_start:col_end]
    return subset.sum().sum()

def get_top_nine_dirs(file_path):
    #分割路径并移除文件名
    parts = file_path.split(os.path.sep)
    #获取前9级目录
    #top_nine_dirs = os.path.sep.join(parts[:9])
    #获取第9级目录
    top_nine_dirs = os.path.sep.join(parts[8])
    return top_nine_dirs

def get_nth_directory_name(file_path,n):
    #将路径分割成单个目录
    directories = file_path.split(os.path.sep)
    if len(directories) < n:
        return None
    return directories[n - 1]

def extract_last_part_of_path(path):
    return os.path.basename(path)

def is_number(string):
    try:
        Decimal(string) #尝试将字符串转换为数字
        return True
    except DecimalError:
        return False

#查找并输出位置
def search_str(filename,search_char):
    global global_var  #将读取的函数计算结果设置为全局变量,我们可以先定义全局变量,然后在函数内部通过全局变量声明修改
    global global_var_r
    result = []
    character = "1S"
    total = 0 
    try:
        with open(filename,'r') as csvfile:
            csvreader = csv.reader(csvfile, delimiter=",")  
            row_index = 1      
            for row in csvreader:            
                col_index = 1
                for cell in row:
                    if character == cell:
                        result.append((row_index,col_index))
                        print(result)
                        print(f"Cell data:{cell},Row index:{row_index},Column index:{col_index}")
                        print('已查到该值',cell)
                        for row1,col1 in result:
                            data_row = list(csvreader)
                            num_rows = len(data_row)
                            print(f'"{character}"在第{row1}行,第{col1}列被找到')
                            print(f'总行数:"{num_rows}"')
                            global_var = col1
                            global_var_r = row1 - 2
                    col_index += 1
                row_index += 1
    except:
        pass

if __name__ == '__main__':
    #新建excel,自定义标题
    #*********************************************************************
    wb = Workbook()
    ws = wb.active
    ws.title="Summary"
    #设置所有单元格的对齐方式为居中
    alignment = Alignment(horizontal='center',vertical='center')   
    titlesS1 = ['data1','data2','data3']    
    titlesS2 = ['data4','data5','data6']  
    #第一列波段设置区域
    ws.cell(row = 1,column = 1).value = '判定'
    ws.cell(row = 1,column = 1).alignment = alignment
    ws.cell(row = 5,column = 1).value = '文件名'
    ws.cell(row = 5,column = 1).alignment = alignment
    ws.cell(row = 6,column = 1).value = 'wave'
    ws.cell(row = 6,column = 1).alignment = alignment
    for l in range(380,1051):
        ws.cell(l-373,1).value = l
        ws.cell(l-373,1).alignment = alignment
        continue
    #*****************************************************************

    #读取指定文件夹
    #file_dir = os.getcwd()
    file_dir = r"D:\Users\gxcaoty\Desktop\vivo客户数据\901NG"
    root, dirs, files = get_allfile_msg(file_dir)
    allFile_url = get_allfile_url(root, files)
    dir_numbers = len(dirs)    #file_dir下的文件夹个数
    user_input = input("请输入S1或S2\n")
    count = 0
    files_chose = []
    try:
        for root,dirs,files in os.walk(file_dir):
            for file_path in glob.glob(os.path.join(root,'*.csv')):
                if '39781A-901' in file_path and 'Add' not in file_path:
                    print(file_path)
                    count += 1
                    c = count
                    m = c - 1
                    #print(m)
                    files_chose.append(file_path)                    
                    #print(files_chose)
                    
                    for xl in files_chose:
                        #print(xl)   #xl为路径+文件名
                        last_part = extract_last_part_of_path(xl)
                        #print(last_part)  #filename为文件名
                        filename = xl 
                        csv_data = read_csv_file(filename)
                        df = csv_data
                        if user_input == "S1":
                            df = df.iloc[:,1:4]
                            df = df.astype(float)
                            #print(df)
                            #反射率标准
                            #**********************************************************
                            wave1start = 430
                            wave1end = 550
                            wave1standard = 1.5
                            wave2start = 600
                            wave2end = 780
                            wave2standard = 1
                            combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'
                            combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'
                            #print(combinedwave1)
                            ws.cell(row = 2,column = 1).value = combinedwave1
                            ws.cell(row = 3,column = 1).value = combinedwave2
                            #***********************************************************
                            #计算判定区域
                            for n in range(0,3):
                                cal1 = df.iloc[wave1start-380+2:wave1end-380+2,n].max()  
                                cal2 = df.iloc[wave2start-380+2:wave2end-380+2,n].max()  
                                if cal1 <= wave1standard and cal2 <= wave2standard :
                                    ws.cell(row = 1,column = n+2+3*m).value = "OK"
                                    ws.cell(row = 1,column = n+2+3*m).alignment = alignment
                                else:
                                    ws.cell(row = 1,column = n+2+3*m).value = "NG"
                                    ws.cell(row = 1,column = n+2+3*m).alignment = alignment
                                #print(ave1,ave2)
                                ws.cell(row = 2,column = n+2+3*m).value = cal1
                                ws.cell(row = 3,column = n+2+3*m).value = cal2
                                continue
                            #文件名输出区域
                            ws.cell(row = 5,column = 2+3*m).value = last_part                     
                            #标题输出区域(data1~data6)
                            for k,title in enumerate(titlesS1,2):                    
                                ws.cell(row = 6,column = k+3*m).value = title
                                ws.cell(row = 6,column = k+3*m).alignment = alignment
                                continue
                            #源数据输出区域
                            for i ,row in df.iterrows():
                                #print(i)
                                for j ,value in enumerate(row,start=1):
                                    ws.cell(row = i+7,column = j+1+3*m).value = value

                        elif user_input == "S2":
                            df = df.iloc[:,4:7]
                            df = df.astype(float)
                            print(df)
                            #反射率标准
                            #**********************************************************
                            wave1start = 430
                            wave1end = 550
                            wave1standard = 1.5
                            wave2start = 600
                            wave2end = 780
                            wave2standard = 1
                            combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'
                            combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'
                            #print(combinedwave1)
                            ws.cell(row = 2,column = 1).value = combinedwave1
                            ws.cell(row = 3,column = 1).value = combinedwave2
                            #***********************************************************
                            #计算判定区域
                            for n in range(0,3):
                                cal1 = df.iloc[wave1start-380+2:wave1end-380+2,n].max()  
                                cal2 = df.iloc[wave2start-380+2:wave2end-380+2,n].max()  
                                if cal1 <= wave1standard and cal2 <= wave2standard :
                                    ws.cell(row = 1,column = n+2+3*m).value = "OK"
                                    ws.cell(row = 1,column = n+2+3*m).alignment = alignment
                                else:
                                    ws.cell(row = 1,column = n+2+3*m).value = "NG"
                                    ws.cell(row = 1,column = n+2+3*m).alignment = alignment
                                #print(ave1,ave2)
                                ws.cell(row = 2,column = n+2+3*m).value = cal1
                                ws.cell(row = 3,column = n+2+3*m).value = cal2
                                continue
                            #文件名输出区域
                            ws.cell(row = 5,column = 2+3*m).value = last_part                     
                            #标题输出区域(data1~data6)
                            for k,title in enumerate(titlesS2,2):                    
                                ws.cell(row = 6,column = k+3*m).value = title
                                ws.cell(row = 6,column = k+3*m).alignment = alignment
                                continue
                            #源数据输出区域
                            for i ,row in df.iterrows():
                                #print(i)
                                for j ,value in enumerate(row,start=1):
                                    ws.cell(row = i+7,column = j+1+3*m).value = value
                        else:
                            print("非指定指令")
    except Exception as e:
        print(e)
    output_file_path='Summaryout.xlsx'
    wb.save(output_file_path)

2.优化(时间复杂度)

代码如下(示例):

#xlwt只支持xls格式,xlsx格式需要用openpyxl或pandas
# -*- coding: utf-8 -*-  
# coding=gbk

import pandas as pd
import os 
import xlrd
import xlwt
import csv
from xlutils.copy import copy
from openpyxl import Workbook
from openpyxl import load_workbook
from os.path import dirname
from decimal import Decimal
from openpyxl.utils.dataframe import dataframe_to_rows
# 读写2007 excel
import openpyxl
from openpyxl.styles import numbers
from openpyxl.styles import Alignment
import glob
import tkinter as tk
from tkinter import messagebox
from tkinter import simpledialog
 
#自定义函数区域
#************************************************************************************************************************************
def some_function():
    global global_var
    global global_var_r
    global_var = col1
    global_var_r = row1

def get_allfile_msg(file_dir):
    for root, dirs, files in os.walk(file_dir):
        return root, dirs, [file for file in files if file.endswith('.xls') or file.endswith('.xlsx') or file.endswith('.csv')] 

def get_allfile_url(root, files):
    allFile_url = []
    for file_name in files:
        file_url = root + "/" + file_name
        allFile_url.append(file_url)
    return allFile_url

def get_file_name(path, suffix = ['.xlsx', '.xls','.csv']):  #'.xlsx', '.xls',
    tmp_lst = []
    for root,dirs,files in os.walk(path):
        for file in files:
            tmp_lst.append(os.path.join(root, file))
    return tmp_lst

def convert_csv_to_xlsx(csv_file_path,xlsx_file_path):
    df = pd.read_csv(csv_file_path)
    df.to_excel(xlsx_file_path,index=False)    

#定义读取csv_pandas
def read_csv_file(file_path):
    #参数:error_bad_lines=False跳过错误的行 delimiter=',',encoding = 'gbk',header = 0, engine='python'  sep = r"\s+\s{0}"  encoding = "iso-8859-1"
    return pd.read_csv(file_path,encoding = 'latin1',sep = r"\s+\s{0}",dtype=object,quotechar="'",delimiter=',',doublequote=True,engine="python",header = 1)   #第2行作为表头

#定义一个函数来尝试将字符串转换为十进制数字
def try_convert_to_decimal(value):
    try:
        return Decimal(value)
    except (TypeError, DecimalException):
        return None

#定义csv求和
def sum_csv_column(filename,column_index):
    total = 0
    with open(filename, mode='r', newline='') as csvfile:  #mode = 'r'
        csvreader = csv.DictReader(csvfile, delimiter=",")
        headers = next(csvreader) #跳过标题行
        for row in csvreader:
            if len(row) > column_index :  #and row[column_index].isdigit()
                total += int(row[column_index])
    return total

def calculate_sum_in_csv(file_path,row_start,row_end,col_start,col_end):
    df = pd.read_csv(file_path ,encoding='utf-8')
    subset = df.iloc[row_start:row_end,col_start:col_end]
    return subset.sum().sum()

def get_top_nine_dirs(file_path):
    #分割路径并移除文件名
    parts = file_path.split(os.path.sep)
    #获取前9级目录
    #top_nine_dirs = os.path.sep.join(parts[:9])
    #获取第9级目录
    top_nine_dirs = os.path.sep.join(parts[8])
    return top_nine_dirs

def get_nth_directory_name(file_path,n):
    #将路径分割成单个目录
    directories = file_path.split(os.path.sep)
    if len(directories) < n:
        return None
    return directories[n - 1]

def extract_last_part_of_path(path):
    return os.path.basename(path)

def is_number(string):
    try:
        Decimal(string) #尝试将字符串转换为数字
        return True
    except DecimalError:
        return False

#查找并输出位置
def search_str(filename,search_char):
    global global_var  #将读取的函数计算结果设置为全局变量,我们可以先定义全局变量,然后在函数内部通过全局变量声明修改
    global global_var_r
    result = []
    character = "1S"
    total = 0 
    try:
        with open(filename,'r') as csvfile:
            csvreader = csv.reader(csvfile, delimiter=",")  
            row_index = 1      
            for row in csvreader:            
                col_index = 1
                for cell in row:
                    if character == cell:
                        result.append((row_index,col_index))
                        print(result)
                        print(f"Cell data:{cell},Row index:{row_index},Column index:{col_index}")
                        print('已查到该值',cell)
                        for row1,col1 in result:
                            data_row = list(csvreader)
                            num_rows = len(data_row)
                            print(f'"{character}"在第{row1}行,第{col1}列被找到')
                            print(f'总行数:"{num_rows}"')
                            global_var = col1
                            global_var_r = row1 - 2
                    col_index += 1
                row_index += 1
    except:
        pass
#自定义函数区域end*****************************************************************************************************************
 
if __name__ == '__main__':
    #新建excel,自定义标题start*********************************************************************
    wb = Workbook()
    ws = wb.active
    ws.title="Summary"
    #设置所有单元格的对齐方式为居中
    alignment = Alignment(horizontal='center',vertical='center')   
    titlesS1 = ['data1','data2','data3']    
    titlesS2 = ['data4','data5','data6']  
    #第一列波段设置区域
    ws.cell(row = 1,column = 1).value = '判定'
    ws.cell(row = 1,column = 1).alignment = alignment
    ws.cell(row = 5,column = 1).value = '文件名'
    ws.cell(row = 5,column = 1).alignment = alignment
    ws.cell(row = 6,column = 1).value = 'wave'
    ws.cell(row = 6,column = 1).alignment = alignment
    for l in range(380,1051):
        ws.cell(l-373,1).value = l
        ws.cell(l-373,1).alignment = alignment
        continue
    #*****************************************************************

    #读取指定文件夹
    #file_dir = os.getcwd()
    file_dir = r"D:\Users\gxcaoty\Desktop\vivo客户数据\test1"
    root, dirs, files = get_allfile_msg(file_dir)
    allFile_url = get_allfile_url(root, files)
    dir_numbers = len(dirs)    #file_dir下的文件夹个数
    
    user_input = input("请输入S1或S2\n")
    count = 0
    for root,dirs,files in os.walk(file_dir):
        for file_path in glob.glob(os.path.join(root,'*.csv')):
            if '39781A-901' in file_path and 'Add' not in file_path:
                print(file_path)
                xl = file_path
                count += 1
                c = count
                m = c - 1
                print(f"共发现 {m} 个文件!")
                #print(files_chose)
                try:
                    last_part = extract_last_part_of_path(xl)
                    #print(last_part)  #filename为文件名
                    filename = xl 
                    csv_data = read_csv_file(filename)
                    df = csv_data
                    if user_input == "S1":
                        df = df.iloc[:,1:4]
                        df = df.astype(float)
                        #print(df)
                        #反射率标准
                        #**********************************************************
                        wave1start = 430
                        wave1end = 550
                        wave1standard = 1.5
                        wave2start = 600
                        wave2end = 780
                        wave2standard = 1
                        combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'
                        combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'
                        #print(combinedwave1)
                        ws.cell(row = 2,column = 1).value = combinedwave1
                        ws.cell(row = 3,column = 1).value = combinedwave2
                        #***********************************************************
                        #计算判定区域
                        for n in range(0,3):
                            cal1 = df.iloc[wave1start-380+2:wave1end-380+2,n].max()  
                            cal2 = df.iloc[wave2start-380+2:wave2end-380+2,n].max()  
                            if cal1 <= wave1standard and cal2 <= wave2standard :
                                ws.cell(row = 1,column = n+2+3*m).value = "OK"
                                ws.cell(row = 1,column = n+2+3*m).alignment = alignment
                            else:
                                ws.cell(row = 1,column = n+2+3*m).value = "NG"
                                ws.cell(row = 1,column = n+2+3*m).alignment = alignment
                            #print(ave1,ave2)
                            ws.cell(row = 2,column = n+2+3*m).value = cal1
                            ws.cell(row = 3,column = n+2+3*m).value = cal2
                            continue
                        #文件名输出区域
                        ws.cell(row = 5,column = 2+3*m).value = last_part                     
                        #标题输出区域(data1~data6)
                        for k,title in enumerate(titlesS1,2):                    
                            ws.cell(row = 6,column = k+3*m).value = title
                            ws.cell(row = 6,column = k+3*m).alignment = alignment
                            continue
                        #源数据输出区域
                        for i ,row in df.iterrows():
                            #print(i)
                            for j ,value in enumerate(row,start=1):
                                ws.cell(row = i+7,column = j+1+3*m).value = value

                    elif user_input == "S2":
                        df = df.iloc[:,4:7]
                        df = df.astype(float)
                        #print(df)
                        #反射率标准
                        #**********************************************************
                        wave1start = 430
                        wave1end = 550
                        wave1standard = 1.5
                        wave2start = 600
                        wave2end = 780
                        wave2standard = 1
                        combinedwave1 = f'{wave1start},{wave1end},{wave1standard}'
                        combinedwave2 = f'{wave2start},{wave2end},{wave2standard}'
                        #print(combinedwave1)
                        ws.cell(row = 2,column = 1).value = combinedwave1
                        ws.cell(row = 3,column = 1).value = combinedwave2
                        #***********************************************************
                        #计算判定区域
                        for n in range(0,3):
                            cal1 = df.iloc[wave1start-380+2:wave1end-380+2,n].max()  
                            cal2 = df.iloc[wave2start-380+2:wave2end-380+2,n].max()  
                            if cal1 <= wave1standard and cal2 <= wave2standard :
                                ws.cell(row = 1,column = n+2+3*m).value = "OK"
                                ws.cell(row = 1,column = n+2+3*m).alignment = alignment
                            else:
                                ws.cell(row = 1,column = n+2+3*m).value = "NG"
                                ws.cell(row = 1,column = n+2+3*m).alignment = alignment
                            #print(ave1,ave2)
                            ws.cell(row = 2,column = n+2+3*m).value = cal1
                            ws.cell(row = 3,column = n+2+3*m).value = cal2
                            continue
                        #文件名输出区域
                        ws.cell(row = 5,column = 2+3*m).value = last_part                     
                        #标题输出区域(data1~data6)
                        for k,title in enumerate(titlesS2,2):                    
                            ws.cell(row = 6,column = k+3*m).value = title
                            ws.cell(row = 6,column = k+3*m).alignment = alignment
                            continue
                        #源数据输出区域
                        for i ,row in df.iterrows():
                            #print(i)
                            for j ,value in enumerate(row,start=1):
                                ws.cell(row = i+7,column = j+1+3*m).value = value
                    else:
                        print("非指定指令")
                except Exception as e:
                    print(e)
    output_file_path='Summaryout.xlsx'
    wb.save(output_file_path)

三、库文件

1.查看已安装的所有库

python3 -m pip list

已安装库如下:

absl-py                           1.0.0
altair                            4.2.0
altgraph                          0.17.2
appdirs                           1.4.4
argcomplete                       1.12.3
argon2-cffi                       21.1.0
asgiref                           3.5.2
astor                             0.8.1
astroid                           2.4.2
astunparse                        1.6.3
async-generator                   1.10
async-timeout                     4.0.2
asynctest                         0.13.0
attrs                             21.2.0
audioread                         2.1.9
Automat                           0.7.0
autoreport                        0.1.2
Babel                             2.9.1
backcall                          0.2.0
backports.entry-points-selectable 1.1.1
backports.zoneinfo                0.2.1
baidu-aip                         2.2.18.0
bce-python-sdk                    0.8.62
beautifulsoup4                    4.9.3
Bin                               0.1.0
bit-array                         0.1.0
bitarray                          2.4.1
bleach                            4.1.0
blinker                           1.4
branca                            0.4.2
bs4                               0.0.1
cached-property                   1.5.2
cachetools                        4.2.4
certifi                           2021.10.8
cffi                              1.15.0
cfgv                              3.3.1
chardet                           3.0.4
charset-normalizer                2.0.7
circlify                          0.13
click                             8.0.3
cmake                             3.22.2
colorama                          0.4.3
colorlog                          6.6.0
colorlover                        0.3.0
commonmark                        0.9.1
comtypes                          1.1.10
config                            0.5.1
configobj                         5.0.6
configparser                      5.2.0
constantly                        15.1.0
coverage                          5.5
Cryptodome                        1.0
cryptography                      36.0.0
cssselect                         1.1.0
cssutils                          2.3.0
cufflinks                         0.17.3
cx-Oracle                         8.3.0
cycler                            0.11.0
Cython                            0.29.25
dataframe                         1.0.0
DBUtils                           1.3
debugpy                           1.5.1
decorator                         4.4.2
defusedxml                        0.7.1
Deprecated                        1.2.13
deprecation                       2.1.0
dill                              0.3.4
distlib                           0.3.3
Django                            2.2a1
dlib                              19.19.0
docopt                            0.6.2
easydict                          1.9
easygooglesearch                  0.1.0
easygui                           0.98.3
echarts                           0.0.0
echarts-china-cities-pypkg        0.0.9
echarts-china-misc-pypkg          0.0.1
echarts-china-provinces-pypkg     0.0.3
echarts-countries-pypkg           0.1.6
einops                            0.4.0
entrypoints                       0.3
et-xmlfile                        1.1.0
exceptiongroup                    1.2.1
ExifRead                          2.3.2
eyed3                             0.9.6
fake-useragent                    0.1.11
ffmpeg                            1.4
filelock                          3.4.0
filetype                          1.0.13
fitz                              0.0.1.dev2
flake8                            4.0.1
Flask                             1.0.2
Flask-Babel                       2.0.0
Flask-Cors                        3.0.7
flatbuffers                       2.0
folium                            0.12.1.post1
fonttools                         4.28.1
freetype-py                       2.2.0
frozenlist                        1.3.0
fsspec                            2022.1.0
future                            0.16.0
gast                              0.2.2
Genshi                            0.7.6
geos                              0.2.3
gfpgan                            0.2.4        e:\py\python3.7\test\test83\gfpgan-master
gitdb                             4.0.9
GitPython                         3.1.24
google-auth                       2.3.3
google-auth-oauthlib              0.4.6
google-pasta                      0.2.0
googlesearch-python               1.1.0
greenlet                          1.1.2
grpcio                            1.42.0
h11                               0.12.0
h5py                              3.6.0
himawaripy                        2.2.0
httplib2                          0.20.4
hyperlink                         18.0.0
ibm-db                            3.1.1
identify                          2.4.0
idna                              2.8
imageio                           2.16.0
imageio-ffmpeg                    0.4.7
impala                            0.2
importlib-metadata                4.8.2
importlib-resources               5.4.0
impyla                            0.17.0
imutils                           0.5.4
incremental                       17.5.0
iniconfig                         2.0.0
interval                          1.0.0
intervalt                         0.1.1.dev0
ipykernel                         6.5.1
ipython                           7.34.0
ipython-genutils                  0.2.0
ipywidgets                        7.6.5
isort                             4.3.21
itchat                            1.2.1
itsdangerous                      2.0.1
jedi                              0.18.1
jieba                             0.42.1
Jinja2                            3.0.3
joblib                            1.1.0
Js2Py                             0.71
jsonpath                          0.82
jsonschema                        4.2.1
jupyter-client                    7.1.0
jupyter-core                      4.9.1
jupyterlab-pygments               0.1.2
jupyterlab-widgets                1.0.2
keras                             2.7.0
Keras-Applications                1.0.8
Keras-Preprocessing               1.1.2
kiwisolver                        1.3.2
lazy-object-proxy                 1.4.3
libclang                          12.0.0
librosa                           0.9.1
llvmlite                          0.38.1
lml                               0.0.2
loguru                            0.6.0
lxml                              4.3.1
Markdown                          3.3.6
MarkupSafe                        2.0.1
matplotlib                        3.5.0
matplotlib-inline                 0.1.3
mccabe                            0.6.1
Menu                              3.2.2
missingno                         0.5.0
mistune                           0.8.4
more-itertools                    8.13.0
morphology                        0.11.12
MouseInfo                         0.1.3
moviepy                           1.0.3
msoffcrypto-tool                  5.1.0
multidict                         6.0.2
multiprocess                      0.70.12.2
mysql-connector                   2.2.9
mysql-connector-python            8.0.29
mysql-connector-python-rf         2.1.3
nbclient                          0.5.9
nbconvert                         6.3.0
nbformat                          5.1.3
nest-asyncio                      1.5.1
networkx                          2.6.3
nibabel                           3.2.2
nipype                            0.11.0
nltk                              3.7
node                              0.9.28
nodeenv                           1.6.0
nose                              1.3.7
notebook                          6.4.6
npm                               0.1.1
numba                             0.55.2
numpy                             1.21.5
oauthlib                          3.1.1
odict                             1.8.0
olefile                           0.47
onnx                              1.9.0
opencv-contrib-python             4.5.4.58
opencv-python                     4.5.4.58
openpyxl                          3.0.9
opt-einsum                        3.3.0
optional-django                   0.1.0
outcome                           1.1.0
packaging                         21.3
paddle2onnx                       0.8.2
paddlefsl                         1.0.0
paddlehub                         2.1.1
paddlenlp                         2.1.1
paddlepaddle                      2.2.0
pandas                            1.1.5
pandocfilters                     1.5.0
parse                             1.19.0
parsel                            1.6.0
parso                             0.8.2
pathlib                           1.0.1
patsy                             0.5.2
pdf2image                         1.13.1
pdfkit                            1.0.0
peewee                            3.14.10
pefile                            2021.9.3
peppercorn                        0.6
pickleshare                       0.7.5
Pillow                            9.0.1
pip                               22.0.4
pipreqs                           0.4.11
platformdirs                      2.4.0
plotly                            5.4.0
plotly-express                    0.4.0
pluggy                            1.2.0
plumber                           1.6
pooch                             1.6.0
pptx                              0.1.0
pre-commit                        2.15.0
premailer                         3.10.0
prettytable                       2.4.0
proglog                           0.1.10
prometheus-client                 0.12.0
prompt-toolkit                    3.0.22
protobuf                          3.19.1
psutil                            5.9.1
psycopg2                          2.9.3
pure-sasl                         0.6.2
pyarrow                           8.0.0
pyasn1                            0.4.8
pyasn1-modules                    0.2.8
PyAutoGUI                         0.9.53
pycharts                          0.1.5
pychorus                          0.1
pycodestyle                       2.8.0
pycparser                         2.21
pycryptodome                      3.11.0
pydeck                            0.7.1
pyDeprecate                       0.3.1
pydot-ng                          2.0.0
pyecharts                         0.1.9.4
pyecharts-jupyter-installer       0.0.3
pyee                              8.2.2
pyExcelerator                     0.6.4.1
PyExecJS                          1.5.1
pyflakes                          2.4.0
pygame                            1.9.4
PyGetWindow                       0.0.9
pyglet                            1.5.22
Pygments                          2.10.0
PyHamcrest                        1.9.0
pyinstaller                       4.7
pyinstaller-hooks-contrib         2021.3
pyjsparser                        2.7.1
pylint                            2.5.3
Pympler                           1.0.1
PyMsgBox                          1.0.9
pymssql                           2.2.5
PyMuPDF                           1.17.5
PyMySQL                           0.9.3
pynput                            1.4
pyOpenSSL                         21.0.0
pyparsing                         3.0.6
pyperclip                         1.8.2
pypng                             0.0.21
pyppeteer                         1.0.2
PyQRCode                          1.2.1
PyQt5                             5.12
PyQt5_sip                         4.19.14
pyqtgraph                         0.12.4
pyquery                           1.4.3
PyRect                            0.1.4
pyrsistent                        0.18.0
PyScreeze                         0.1.28
PySide2                           5.15.2
PySimpleGUI                       4.57.0
pytesseract                       0.3.8
pytest                            7.4.4
python-dateutil                   2.8.2
python-docx                       0.8.11
python-pptx                       0.6.21
pytils                            0.3
pytweening                        1.0.4
pytz                              2018.9
pytz-deprecation-shim             0.1.0.post0
PyWavelets                        1.2.0
pywifi                            1.1.12
pywin32                           306
pywin32-ctypes                    0.2.0
pywinpty                          1.1.6
pyxnat                            1.4
PyYAML                            6.0
pyzmq                             22.3.0
rarfile                           4.0
redis                             4.3.3
regex                             2022.6.2
relatorio                         0.10.0
removebg                          0.4
report                            0.0.1
request                           1.0.117
requests                          2.25.1
requests-html                     0.10.0
requests-oauthlib                 1.3.0
resampy                           0.2.2
rich                              12.0.1
rsa                               4.8
ruamel.yaml                       0.17.21
ruamel.yaml.clib                  0.2.6
scikit-image                      0.19.2
scikit-learn                      1.0.2
scipy                             1.7.2
seaborn                           0.11.2
selenium                          2.48.0
semver                            2.13.0
Send2Trash                        1.8.0
seqeval                           1.2.2
setuptools                        59.5.0
setuptools-scm                    6.3.2
Shapely                           1.8.0
shellcheck-py                     0.8.0.1
shiboken2                         5.15.2
SHop                              0.0.2
simplejson                        3.17.6
six                               1.15.0
smartchart                        5.4.8
smartcrop                         0.3.3
smartdb                           0.5
smmap                             5.0.0
sniffio                           1.2.0
sortedcontainers                  2.4.0
SoundFile                         0.10.3.post1
soupsieve                         2.3.1
SQLAlchemy                        1.4.36
sqlparse                          0.2.4
statsmodels                       0.13.2
steppy                            0.1.16
streamlit                         1.9.0
tenacity                          8.0.1
tencentcloud-sdk-python           3.0.238
tensorboard                       1.15.0
tensorboard-data-server           0.6.1
tensorboard-plugin-wit            1.8.0
tensorflow                        1.15.0
tensorflow-estimator              1.15.1
tensorflow-gpu                    1.15.0
tensorflow-io-gcs-filesystem      0.22.0
termcolor                         1.1.0
terminado                         0.12.1
testpath                          0.5.0
tf-slim                           1.1.0
threadpoolctl                     3.0.0
thrift                            0.11.0
thrift-sasl                       0.4.3
tifffile                          2021.11.2
toml                              0.10.1
tomli                             1.2.2
tools                             0.1.9
toolz                             0.11.2
torch                             1.10.2
torchmetrics                      0.7.2
torchvision                       0.11.3
tornado                           6.1
tqdm                              4.62.3
traitlets                         5.1.1
traits                            6.3.2
treenode                          0.1.5
trio                              0.19.0
trio-websocket                    0.9.2
typed-ast                         1.4.3
typing                            3.7.4.3
typing_extensions                 4.0.0
tzdata                            2022.1
tzlocal                           4.2
urllib3                           1.25.11
utils                             1.0.1
validators                        0.19.0
vim                               0.0.1
virtualenv                        20.10.0
visualdl                          2.2.2
w3lib                             1.22.0
watchdog                          2.1.6
wcwidth                           0.2.5
web.py                            0.40.dev1
webencodings                      0.5.1
websockets                        10.1
Werkzeug                          2.0.2
wheel                             0.37.0
widgetsnbextension                3.5.2
win32-setctime                    1.1.0
wincertstore                      0.2
wordcloud                         1.8.1
workbook                          1.1
wrapt                             1.12.1
wsproto                           1.0.0
wxPython                          4.0.4
xlrd                              1.2.0
XlsxWriter                        3.0.2
xlutils                           2.0.0
xlwings                           0.25.2
xlwt                              1.3.0
yagmail                           0.14.260
yapf                              0.32.0
yarg                              0.1.9
yarl                              1.7.2
you-get                           0.4.1602
zipp                              3.6.0
zope.component                    5.0.1
zope.deprecation                  4.4.0
zope.event                        4.5.0
zope.hookable                     5.1.0
zope.interface                    5.4.0
zope.lifecycleevent               4.3

总结

分享:
负郭幽居一林清,残花寂寂水泠泠。
夜深宴坐无灯火,卷土疏帘月满庭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若竹之心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值