Python 小功能

1、把數字轉爲千位數值類型

    str2 = '-1234567898.71'
    result = "{:,}".format(float(str2))
    print(result)

結果

-1,234,567,898.71

2、找出字符在字符串中的位置

	#找出點在字符串中所有的位置
    str1 = '123.456.789.87'
    index = [m.start() for m in re.finditer('\.', str1)]
    print(index )

結果

[3, 7, 11]

3、檢測字符串是不是純數字

    str2 = '1234567898.71'
    str3 = str2.replace('.','')
    print(str3.isdigit())

結果

True

4、打印出文件的絕對路徑和文件名稱

	# __file__,也可以是當前文件夾下的文件名稱
    print(os.path.dirname(os.path.realpath(__file__)))
    print(os.path.basename(os.path.realpath(__file__)))

結果

D:\code
test.py

5、給表格添加顏色

import openpyxl
from openpyxl.styles import Font  # 導入字體模塊
from openpyxl.styles import PatternFill  # 導入填充模塊

wk = openpyxl.load_workbook("./table_dir/第二個表 .xlsx")  # 加載已經存在的excel
wk_name = wk.sheetnames
wk_sheet = wk[wk_name[0]]
fille = PatternFill('solid', fgColor='FFBB00')  # 設置填充顏色爲 橙色

font = Font(u'宋體', size=11, bold=True, italic=True, strike=True, color='FFBB00')  # 設置字體樣式

#添加顏色
wk_sheet['A2'].fill = fille  # 應用填充樣式在A1單元格
# 給表格設置字體
wk_sheet.cell(row=2, column=2).font = font
# 賦值
wk_sheet.cell(row=2, column=2).value = '3'

wk.save(r"./table_dir/第一個表.xlsx")  # 保存excel

在這裏插入圖片描述

6、Python 使用argparse參數的傳遞

腳本test.py

import argparse

def str2bool(value):
    if value.lower() in ('yes', 'true', 'y', '1'):
        return True
    elif value.lower() in ('no', 'false', 'n','0'):
        return False
    else:
        raise argparse.ArgumentTypeError('Unsupported value encountered!')

def main():
    # description描述這個參數解析器是幹什麼的,當我們在命令行顯示幫助信息的時候會看到description描述的信息
    parser = argparse.ArgumentParser(description="parameter")
    # 通過對象的add_argument函數來增加參數。
    # '-n','--name'表示同一個參數,default參數表示在運行命令時若沒有提供參數,程序會將此值當做參數值
    parser.add_argument('-f', '--file')
    parser.add_argument('--head', type=str2bool, default=False)
    args = parser.parse_args()
    file = args.file
    head = args.head
    print(file,head)

if __name__ == '__main__':
	main()

調用

python test.py -f D:\code\test.py -head False

7、用flask實現文件上傳和下載

# -*- coding: utf-8 -*-
from werkzeug.utils import secure_filename
from flask import Flask,render_template,abort,request
from flask import send_from_directory
import os


app = Flask(__name__)
UPLOAD_FOLDER='upload'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
basedir = os.path.abspath(os.path.dirname(__file__))
ALLOWED_EXTENSIONS = set(['txt','png','jpg','xls','JPG','PNG','xlsx','gif','GIF'])

# 用於判斷文件後綴
def allowed_file(filename):
    return '.' in filename and filename.rsplit('.',1)[1] in ALLOWED_EXTENSIONS

# 用於測試上傳
@app.route('/')
def upload_test():
    return render_template('base.html')

# 上傳文件
@app.route('/upload',methods=['GET','POST'],strict_slashes=False)
def api_upload():
    if request.method == 'GET':
        return render_template('base.html')
    else:
        file_dir=os.path.join(basedir,app.config['UPLOAD_FOLDER'])
        if not os.path.exists(file_dir):
            os.makedirs(file_dir)
        f=request.files['file']  # 從表單的file字段獲取文件,myfile爲該表單的name值
        if f and allowed_file(f.filename):  # 判斷是否是允許上傳的文件類型
            file = f.filename
            f.save(os.path.join(file_dir,file))  #保存文件到upload目錄
            return render_template('base.html')
        else:
            return render_template('base.html')
            # return jsonify({"errno":1001,"errmsg":"上傳失敗"})

@app.route('/download/<filename>', methods=['GET'])
def download(filename):
    if request.method =="GET":
        file_path =os.path.join(basedir,app.config['UPLOAD_FOLDER'])
        if os.path.join(file_path, filename):
            return send_from_directory(file_path,filename, as_attachment=True)
        abort(404)

if __name__ == '__main__':
    app.run(host='0.0.0.0',port=8067,debug=True)

項目見github

8、pandas 找出某個值,在索引行的位置

找出test在pandas所在的位置

   index = list(pd.index).index('test')
   # 列表索引是從0開始
   print(index+1)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章