anaconda3下的python编程练习-名称翻译器相关

一、环境配置

参考:Python学习笔记-使用Anaconda+VSCode配置开发环境

1、conda命令

镜像源配置

conda config --show channels			//查看镜像源
conda config --remove-key channels		//删除添加源,恢复默认源

#添加镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2

#终端显示包从哪个channel下载,以及下载地址是什么
conda config --set show_channel_urls yes

虚拟环境操作

conda create --name envname python=version	# 创建指定版本的虚拟环境
conda env list		#查看所有虚拟环境
activate  env_name	#进入环境
deactivate			#退出当前环境
conda  remove  --name  env_name  --all	#删除某个环境

conda  list  -n  env_name	#查看当前虚拟环境下的所有安装包

进入虚拟环境后的操作

#安装或卸载包
conda  install  requests
conda  install  xx=版本号  # 指定版本号
conda  install  xxx -i 源名称或链接 # 指定下载源
conda  uninstall  xxx

2、pip命令

镜像源配置

#临时使用清华镜像源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package

#永久配置
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

二、python文件处理

2.1 csv操作

参考:
python文件处理-CSV文件的读取、处理、写入
python的csv库常用操作

#在with下面的代码块结束时,会自动执行close()关闭文件
import csv
 
#使用 csv.reader 读取CSV 文件
with open('data.csv', mode='r', encoding='UTF-8', newline='') as file:
    reader = csv.reader(file, delimiter=',')	# 默认分隔符就是逗号,delimiter=','也可省略
    header = next(reader)    # 读取第一行标题,列表
    for row in reader:
        print(row)

#使用 csv.writer 写入
data = [
    ["Name", "Age", "City"],
    ["Alice", "30", "New York"],
    ["Bob", "25", "Los Angeles"]
]
with open('output.csv', mode='w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)

举例

#读取列-方法一  csvread为列表,[值,值]
import csv
with open(r'file.csv',encoding='utf-8',mode='r+') as file_read:
    csvread = csv.reader(file_read)
    headers = next(csvread) #获取csv文件中的列名
    content = headers.index('content') #提取csv文件中的指定列名
    # print(headers) #可打印列名查看csv文件中的columns。
    for row in csvread: #打印指定列的内容
        print(row[content])
file_read.close()
#读取列-方法二  csvread为字典,键:值
import csv
with open(r'file.csv',encoding='utf-8',mode='r+') as file_read:
    csvread = csv.DictReader(file_read)
    for row in csvread: #打印指定列的内容
        print(row['需要读取的该列列名'])
file_read.close()

2.2 xlsx操作

参考:
【python】之xlrd、xlwt模块,读写操作Excel表格!

import xlrd
import xlwt

#读
excel1 = xlrd.open_workbook(r'00001.xls','utf-8',formatting_info=True)
Sheet1 = excel1.sheet_by_name("Sheet1")

#写
workbook = xlwt.Workbook(encoding='utf-8',style_compression=0)	#encoding:设置编码,可写中文  style_compression:是否压缩,不常用
sheet = workbook.add_sheet('表格1', cell_overwrite_ok=False)	#创建一个sheet对象,第二个参数是指单元格是否允许重设置,默认为False
style = xlwt.XFStyle()	#初始化样式
sheet.write(0, 0, '小王')	#第一个参数代表行,第二个参数是列,第三个参数是内容,第四个参数是格式
sheet.write(1, 0, '小红', style)
workbook.save('文件1.xls')	#保存文件

2.3 pandas操作

读取和处理

import pandas as pd

#读取文件
df = pd.read_csv('data.csv',sep=';')	#df是一个对象
#或
df = pd.read_excel(file_path, sheet_name='Sheet1')

selected_columns = df[['Column1', 'Column3']] #获取特定列
column_data = df['Column1'].tolist()  # 将该列数据转换为列表
column_data = df.iloc[:, 0].tolist()  # 将第一列数据转换为列表
num_rows, num_cols = df.shape	#获取行、列数

#查找方式单号列对应的匹配项,并返回行数索引组长的列表。
matched_rows = df.loc[df['方式单号'] == "方式-2020-华北-天津-0007"].index.tolist()
print(matched_rows)

处理所有sheet

import pandas as pd

# 读取 Excel 文件中所有的表
file_path = 'database_fangshidan/2020.xlsx'  # 替换为你的文件路径
sheets = pd.read_excel(file_path, sheet_name=None)

# 合并所有表到一个 DataFrame
combined_df = pd.concat(sheets.values(), ignore_index=True)

# 输出合并后的 DataFrame
print(combined_df.shape)

保存表格

import pandas as pd

# 创建一个示例数据框
data = {
    '姓名': ['张三', '李四', '王五'],
    '年龄': [28, 34, 45],
    '城市': ['北京', '上海', '广州']
}

df = pd.DataFrame(data)

# 指定要写入的Excel文件路径
file_path = 'output.xlsx'

# 将数据框写入Excel文件的指定工作表Sheet1
df.to_excel(file_path, sheet_name='Sheet1', index=False)

print(f'Data has been written to {file_path} in Sheet1.')

三、python数据处理

3.1 list列表操作

参考:Python中列表的基本操作

list2 = [1, 2, 4, "hello"]  
#增加
list2.append(5)  		#在list末尾加入新的元素5
list2.insert(2, 0.6)  	#在第二个和第三个元素中间插入新的元素0.6
#删除
list2.remove("hello")  	#删除元素"hello",按内容删除
list2.__delitem__(1)  	#按索引删除
del list2[3]			#按索引删除
#修改
list2[0] = 9  			#通过下标直接修改

3.2 re正则表达式操作

参考:
Python—【re库的使用
Python 正则表达式详解

re.match(pattern,string,flags)	#从“字符串的开始处”进行匹配,如果在起始位置匹配成功,返回Match对象,否则返回None
re.search(pattern,string,flags)	#用于在整个字符串中搜索第一个匹配的值,如果匹配成功,返回Match对象,否则返回None
start():返回结果字符串的起始位置
end():返回结果字符串的终止位置,end()为结果字符串中最后一个字符的下标索引+1
string属性:返回match对象的匹配字符串
span():返回匹配位置的元组,即“(start(),end())”
group():返回结果字符串

re.findall(pattern,string,flags)	#在“整个字符串”中搜索“所有符合”匹配模式的字符串,并以“列表”的形式返回结果,如果没有匹配到结果,则返回空列表
re.sub(pattern,repl,string,count,flags)	#用于实现字符串替换,并且返回一个“替换后”的字符串

matches = re.finditer(pattern, text)# 使用re.finditer查找所有匹配
indices = [match.start() for match in matches]# 提取匹配的起始索引

举例

import re
string = "JuJingYi is a beauty"
pattern = r"ju\w+"
match = re.match(pattern,string,re.I)
print("结果字符串的开始位置是:",match.start())
print("结果字符串的结束位置是:",match.end())
print("要匹配的字符串是:",match.string)
print("结果字符串的位置元组是:",match.span())
print("结果字符串是:",match.group())
#2 提取对应年份的excel表数据库
sheets=pandas.read_excel(f"database_fangshidan/{seq_year}.xlsx", sheet_name=None)# 读取 Excel 文件中所有的表
combined_df=pandas.concat(sheets.values(), ignore_index=True)# 合并所有表到一个 DataFrame,忽略之前的索引,创建新索引。
#3 开始查找,标题中存在"【】",则需要过滤
matched_rows = combined_df.loc[combined_df['方式单号'] == string_row].index.tolist() #查找方式单号列对应的匹配项,并返回行数索引组长的列表。
#result = df[df['关键字段'].isin(['TJ', 'TJBD'])]可实现多个值匹配,利用布尔值获取结果。

四、python显示命令

4.1 tkinter库操作

界面基本操作

import tkinter as tk
# 创建主窗口
root = tk.Tk()
root.title("固定大小的UI界面")
root.geometry("400x400")  # 设置固定大小的窗口尺寸
# 创建 4 个 Frame
frame1 = tk.Frame(root)
frame1.pack(fill=tk.BOTH, expand=True)
frame2 = tk.Frame(root)
frame2.pack(fill=tk.BOTH, expand=True)
# 在第一个 Frame 中添加 3 个按钮
button1 = tk.Button(frame1, text="左侧按钮")
button1.pack(side=tk.LEFT, padx=10, pady=10)
# 启动主循环
root.mainloop()

位置函数:pack() 函数支持多个参数,可以用于控制控件的排列方式:

  • pack:简单直观,按控件顺序排列。
  • grid:适合复杂布局,利用行和列的方式组织控件。
  • place:精确控制位置,适合需要绝对定位的情况。
side: 控件的摆放方向。可选参数有:
 tk.TOP (默认): 从顶部开始排列
 tk.BOTTOM: 从底部开始排列
 tk.LEFT: 从左侧开始排列
 tk.RIGHT: 从右侧开始排列
fill: 控件的填充方式。可选参数有:
 tk.X: 横向填充
 tk.Y: 纵向填充
 tk.BOTH: 同时在横向和纵向上填充
expand: 布尔值,决定控件是否在可用空间中扩展。True 会使控件在剩余空间中扩展。
padx 和 pady: 控件的水平方向和垂直方向的边距。

tksheet

import tkinter as tk
from tksheet import Sheet

def save_data():
    data = sheet.get_data()
    print("保存的数据:")
    for row in data:
        print(row)

# 创建主窗口
root = tk.Tk()
root.title("表格数据编辑")
root.geometry("600x400")

# 创建示例数据
data = [
    ["姓名", "年龄", "城市"],
    ["Alice", "30", "北京"],
    ["Bob", "25", "上海"],
    ["Charlie", "22", "广州"]
]

# 创建 tksheet 表格
sheet = Sheet(root, data=data)
sheet.enable_bindings()  # 启用绑定以便编辑
sheet.pack(expand=True, fill="both")

# 创建保存按钮
save_button = tk.Button(root, text="保存", command=save_data)
save_button.pack(pady=10)

# 启动主循环
root.mainloop()

"""
tksheet库提供了一系列功能强大的函数来处理表格数据。以下是一些常用的函数及其简要说明:

主要函数和方法
初始化和设置数据:

Sheet(master, data=None, ...): 初始化表格,data参数用于指定初始数据。
数据操作:

set_data(data=sheet_data): 设置表格的数据,sheet_data应为二维列表。
get_data(): 获取当前表格的数据。
insert_row(row_index, row_data): 在指定行位置插入一行数据。
delete_row(row_index): 删除指定行的数据。
update_row(row_index, row_data): 更新指定行的数据。
单元格操作:

set_cell_value(row_index, column_index, value): 设置指定单元格的值。
get_cell_value(row_index, column_index): 获取指定单元格的值。
样式和格式:

set_font(font): 设置整个表格的字体样式。
set_all_column_widths(width): 设置指定列的宽度。
set_all_row_heights(height): 设置指定行的高度。
set_column_header_height(height): 设置表头的高度。
选择和交互:

select_row(row_index): 选择指定的一行。
deselect_row(row_index): 取消选择指定的一行。
get_selected_rows(): 获取当前选中的行。
滚动和视图:

scroll_to_row(row_index): 滚动到指定的行。
scroll_to_column(column_index): 滚动到指定的列。
过滤和排序:

filter(column_index, condition): 根据条件过滤数据。
sort(column_index, ascending=True): 对指定列的数据进行排序。
编辑和事件:

bind(event, handler): 绑定事件到表格。
edit_cell(row_index, column_index): 进入编辑模式。
其他功能
导出和导入:

可根据需要实现表格数据的导入和导出功能(如为CSV格式)。
设置快捷键:可以根据需要为常用操作设置快捷键。
"""

文本框Text

import tkinter as tk

# 创建主窗口
root = tk.Tk()
root.title("文本框显示表格数据")

# 创建一个Text控件
text_box = tk.Text(root, width=30, height=10)
text_box.pack(padx=10, pady=10)

# 示例表格数据
data = [
    ["姓名", "年龄"],
    ["Alice", 30],
    ["Bob", 25],
    ["Charlie", 35]
]

# 将表格数据插入文本框
for row in data:
    text_box.insert(tk.END, "{:<10} {:<10}\n".format(*row))

# 启动主循环
root.mainloop()

2.6 pyinstaller打包操作

pyinstaller --onefile --windowed --icon=my_icon.ico app.py
--onefile 选项会生成单个可执行文件。
--windowed 选项用于创建一个没有命令行窗口的 GUI 应用程序。
--icon=my_icon.ico: 指定图标文件为 my_icon.ico。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值