Python自学第4周反馈:大盘股指,从爬取到预测

2024-01-31 04:20

本文主要是介绍Python自学第4周反馈:大盘股指,从爬取到预测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目标:爬取大盘数据,并简单预测

本次忽略了股市的其他影响因素,仅对数据进行移动平滑预测,文末会附上自己写的几个常用函数和完整的整个过程代码

1.解析网页,找到目标数据

在这里插入图片描述
找到日K线图,点开开发者工具,数据量这么大的肯定就是这个日数据了在这里插入图片描述
点开看下,一目了然在这里插入图片描述
找到数据对应的位置
在这里插入图片描述

日期开盘收盘最高最低成交量成交额振幅
2019-09-192992.922999.282999.282975.40162690616193206550528.000.80

2.用python爬取数据

找到目标数据的位置和他的排列之后,看下爬取可能性,这个网址没有反爬,所以不用Cookie和代理,简单的请求就能得到数据,如果是要请求大量的网页时,可以先爬取网页的二级URL形成连接列表,然后遍历列表请求数据
在这里插入图片描述

# 1.get请求,隐去部分为学习知识点
shuju = requests.get(URL)                                                  #用requests模块请求网页
print(shuju)                                                               #得到请求状态码检查是否正确请求成功
#print(shuju.content.decode('utf-8'))                                      #返回字节流数据  自己解码,避免乱码
#print(shuju.url)                                                          #查看完整url地址,自动帮忙编码
#print(shuju.encoding)                                                     # 查看响应头部字符编码
#print(shuju.text)                                                         #返回unicode格式的数据 有中文,已经解码 返回字符串
#print(shuju.content)                                                      #返回字节流数据  无中文,编码字节

3.对数据进行处理

得到的数据并不能直接使用,要稍微处理下方便后面用,因为还没学正则,所以这里按特定符号切割得到的数据字符串,再放入标准字典。
我的标准字典,是按照第几行第几列来编码数据顺序,方便对接我自己写的其他函数

#整理得到的数据
liebiao_1= re.split(r'\[',shuju.content.decode('utf-8'))[-1]               #把字符串按方括号[切割取后面部分
liebiao_2 = re.split(r']',liebiao_1)[0]                                    #把字符串按方括号]切割取前面部分
liebiao_3 = re.split(r'","|"',liebiao_2)                                   #把字符串按引号和逗号切割
liebiao = []                                                               #建立一个空列表
for x in liebiao_3:                                                        #遍历原先切割字符串等得到的列表if x != '':                                                            #剔除空集liebiao.append(x)                                                  #放回空列表
#print(liebiao)
DaPan = {}                                                                 #建立个标准字典放数据
for i in range(0,len(liebiao)):                                            #遍历数据的行数DaPan['第'+str(i+1)+'行'] = {}                                         #生成行字典i_biao = re.split(r',',liebiao[i])                                     #对数据按逗号再切割for k in range(0,len(i_biao)):                                         #遍历切割好的数据到行列表下的列键DaPan['第' + str(i + 1) + '行']['第' + str(k + 1) + '列'] =  i_biao[k]

4.对数据进行预测

我之前写了个按照周期移动预测的小脚本,把这个脚本函数化后用在这里可以较为方便得到预测数据

def Yuce(Y_,T,yece_X_T):                                                   #对周期为T的数组列表Y_预测未来X个周期的值Y = []                                                                 #建立一个空列表用来装格式化后的数据for a in Y_:                                                           #遍历数组中的数据,进行标准格式化a_ = float(a)                                                      #全部浮点化放给a_Y.append(a_)                                                       #把标准化后的数据放进预存列表# 1.计算一个周期变化后的连续移动求和:根据数据选取周期,日数据周期为365,周数据周期为52,月数据周期为12Last_T_yidong_Sum = []                                                 #建立一个列表用来存放一个周期之后的移动求和值for num_1 in list(range(1, len(Y) + 1 - T)):                           #移动求和值的总数量等于所有数值减去一个周期Sum_num = sum(Y[num_1:num_1 + T])                                  #设置好求和长度为一个周期T并求和Last_T_yidong_Sum.append(Sum_num)                                  #把求和结果放入预存列表# 2.生成移动求和的预测值X = list(range(1, len(Last_T_yidong_Sum) + 1))                         #因为只有一个数组,生成一个与之匹配的标准单位XX_pingjun = sum(X) / len(Last_T_yidong_Sum)                            #求单位X的均值Y_pingjun = sum(Last_T_yidong_Sum) / len(Last_T_yidong_Sum)            #求Y项的均值,即前面得出的移动求和值的均值Sum_1 = []                                                             # 放Xi*YiSum_2 = []                                                             # 放Xi*Xifor n in list(range(0, len(Last_T_yidong_Sum))):                       #遍历一个和移动求和值数组等位的序数表sum_1 = X[n] * Last_T_yidong_Sum[n]                                #Xi*YiSum_1.append(sum_1)                                                #对Xi*Yi求合计sum_2 = X[n] * X[n]                                                #Xi*XiSum_2.append(sum_2)                                                #对Xi*Xi求合计if (sum(Sum_2) - len(Last_T_yidong_Sum) * X_pingjun * X_pingjun) ==0:b = 0                                                              #剔除被除数为零的情况,被除数为零代表是一条水平线else:                                                                  #被除数不为零时,按照回归方程公式计算系数bb = (sum(Sum_1) - len(Last_T_yidong_Sum) * X_pingjun * Y_pingjun) / (sum(Sum_2) - len(Last_T_yidong_Sum) * X_pingjun * X_pingjun)a = Y_pingjun - b * X_pingjun                                          #计算系数aYuce = list(range(len(Last_T_yidong_Sum) + 1, len(Last_T_yidong_Sum) + yece_X_T* T + 1))#生成用于预测的X数组X_Y_yece_sum = []                                                      #建立个列表用来放移动合计的预测值for yuce_X_num in Yuce:                                                #遍历需要预测Y值的X数组Y_yuce = b * yuce_X_num + a                                        #按照回归系数进行预测X_Y_yece_sum.append(Y_yuce)                                        #把得到的预测值放入预存列表# 3.拼接移动做差every_T = Y[T:]                                                        #先把原始数据中一个周期时间点后的数据放到每期中start_X_T = int(len(Y[T:]))                                            #计算原始数据砍去第一个周期后的剩余长度for sum_y in X_Y_yece_sum:                                             #遍历移动求和的预测值every_T.append(sum_y)                                              #把移动求和的预测值添加到每期数据后方便做差方便向前做减for Y_i in list(range(start_X_T, start_X_T + len(X_Y_yece_sum))):      #从历史长度之后开始到最后一个位置为止every_T[Y_i] = every_T[Y_i] - sum(every_T[Y_i - T + 1:Y_i])        #减去前面T-1位的合计值(减去前面T-1项的求和)# 5.实际得到的X个周期内的各期值X_Y_every_yuce = every_T[start_X_T:]                                   #把历史数据移除只要预测出来的数据return X_Y_every_yuce                                                  #返回这个预测值列表

那么我只需要调用几次这个函数,就可以得到想要的数据预测值
这里所有的数据都是字符串,因为日期是字符串,如果需要使用浮点数据或整数数据,可以遍历重新转化数据类型(在我的极值函数中能够用上)

# 标准工作日一年250天,一个周期T=250,一般4年含有一次闰年4T/8T为完整变化,
# 所以选用7*250天的数据,预测第8个250天
# 因为7年数据长度过长在Pycharm中不便于展示,设定为2年预测1年,
# 后期深入学习可视化后会进行优化
Year = 2
#day_1 = get_line_excel(DaPan,1)[-250*Year:]                                  # 日期
open_2 = get_line_excel(DaPan,2)[-250*Year:]                                  # 开盘
end_3 = get_line_excel(DaPan,3)[-250*Year:]                                   # 收盘
max_4 = get_line_excel(DaPan,4)[-250*Year:]                                   # 最高
min_5 = get_line_excel(DaPan,5)[-250*Year:]                                   # 最低
#deal_6 = get_line_excel(DaPan,6)[-250*Year:]                                 # 成交量
#deal_7 = get_line_excel(DaPan,7)[-250*Year:]                                 # 成交额
#FFF_8 = get_line_excel(DaPan,7)[-250*Year:]                                  # 振幅
#这里用遍历附加,如果还要使用原始预测数据不容易出错
Open = open_2                                                              #原始数据+预测数据
for i in Yuce(open_2,250,1):Open.append(i)
END  = end_3                                                               #原始数据+预测数据
for m in Yuce(end_3,250,1):END.append(m)
Max  = max_4                                                               #原始数据+预测数据
for n in Yuce(max_4, 250, 1):Max.append(n)
Min  = min_5                                                               #原始数据+预测数据
for k in Yuce(min_5, 250, 1):Min.append(k)

5.数据可视化展示

# 可视化看下趋势
import matplotlib.pyplot as plt                                           #用于制定图表
from matplotlib.font_manager import FontProperties                        #用于设定中文
font = FontProperties(fname=r"C:\windows\fonts\msyh.ttc")                 #大概是用来指定系统中的中文# 1.折线plt.title("大盘股指预测",fontproperties=font,fontsize=15)                 #给定图标名称并设置字号
plt.xlabel("日序数",fontproperties=font,fontsize=15)                      #给定X轴名称并设置字号
plt.ylabel("价格",fontproperties=font,fontsize=15)                        #给定Y轴名称并设置字号
# 给定坐标刻度并设置字号,both意思是横竖坐标都包括,labelsize=刻度字号,direction=刻度线朝向,width=刻度线粗细,length=刻度线长度
plt.tick_params(axis='both',labelsize=10,width=1,length=10)               #direction='in',不写时自动在外面X = list(range(1,len(Open)+1))                                            #因为系统对应第一个Y值是0坐标,所以自设X坐标修正
plt.plot(X,Open,0,alpha=1,color='b',lw=1)                                 #(x,y)|坐标下限|透明度|颜色|粗细
plt.plot(X,END,0,alpha=1,color='y',lw=1)                                  #(x,y)|坐标下限|透明度|颜色|粗细
plt.plot(X,Max,0,alpha=1,color='r',lw=1)                                  #(x,y)|坐标下限|透明度|颜色|粗细
plt.plot(X,Min,0,alpha=1,color='g',lw=1)                                  #(x,y)|坐标下限|透明度|颜色|粗细plt.show()                                                                #显示内容

得到下面这么个玩意?,因为数据量过大,暂时没学会可视化,将就着看下,如果需要实际操作或者看更为细致,可以把数据导出到EXcel
在这里插入图片描述
最后,附上整个过程的代码

URL = "http://push2his.eastmoney.com/api/qt/stock/kline/get?cb=jQuery18307260937131972509_1568895663861&secid=1.000001&ut=fa5fd1943c7b386f172d6893dbfba10b&fields1=f1%2Cf2%2Cf3%2Cf4%2Cf5&fields2=f51%2Cf52%2Cf53%2Cf54%2Cf55%2Cf56%2Cf57%2Cf58&klt=101&fqt=0&beg=19900101&end=20220101&_=1568895665541"
import re
import requests
#在单独表字典中单独读取某列为列表
def get_line_excel(biao_zidian,lie_num):                                   #读取自定义标准字典的特定列为列表的函数key = []                                                               #建立一个列表用来装标准字典的键,即第几行lie_liebiao = []                                                       #建立一个列表用来装不同行相同列获得的值for a in biao_zidian.keys():                                           #遍历标准字典的键名key.append(a)                                                      #把键名放入键预存列表for key_i in key:                                                      #遍历键预存列表中的键名(遍历行)lie_liebiao.append(str(biao_zidian[key_i]['第'+str(lie_num)+'列']))#把指定列的值放入列值预存列表return lie_liebiao                                                     #返回这个值列表
#移动平滑预测函数
def Yuce(Y_,T,yece_X_T):                                                   #对周期为T的数组列表Y_预测未来X个周期的值Y = []                                                                 #建立一个空列表用来装格式化后的数据for a in Y_:                                                           #遍历数组中的数据,进行标准格式化a_ = float(a)                                                      #全部浮点化放给a_Y.append(a_)                                                       #把标准化后的数据放进预存列表# 1.计算一个周期变化后的连续移动求和:根据数据选取周期,日数据周期为365,周数据周期为52,月数据周期为12Last_T_yidong_Sum = []                                                 #建立一个列表用来存放一个周期之后的移动求和值for num_1 in list(range(1, len(Y) + 1 - T)):                           #移动求和值的总数量等于所有数值减去一个周期Sum_num = sum(Y[num_1:num_1 + T])                                  #设置好求和长度为一个周期T并求和Last_T_yidong_Sum.append(Sum_num)                                  #把求和结果放入预存列表# 2.生成移动求和的预测值X = list(range(1, len(Last_T_yidong_Sum) + 1))                         #因为只有一个数组,生成一个与之匹配的标准单位XX_pingjun = sum(X) / len(Last_T_yidong_Sum)                            #求单位X的均值Y_pingjun = sum(Last_T_yidong_Sum) / len(Last_T_yidong_Sum)            #求Y项的均值,即前面得出的移动求和值的均值Sum_1 = []                                                             # 放Xi*YiSum_2 = []                                                             # 放Xi*Xifor n in list(range(0, len(Last_T_yidong_Sum))):                       #遍历一个和移动求和值数组等位的序数表sum_1 = X[n] * Last_T_yidong_Sum[n]                                #Xi*YiSum_1.append(sum_1)                                                #对Xi*Yi求合计sum_2 = X[n] * X[n]                                                #Xi*XiSum_2.append(sum_2)                                                #对Xi*Xi求合计if (sum(Sum_2) - len(Last_T_yidong_Sum) * X_pingjun * X_pingjun) ==0:b = 0                                                              #剔除被除数为零的情况,被除数为零代表是一条水平线else:                                                                  #被除数不为零时,按照回归方程公式计算系数bb = (sum(Sum_1) - len(Last_T_yidong_Sum) * X_pingjun * Y_pingjun) / (sum(Sum_2) - len(Last_T_yidong_Sum) * X_pingjun * X_pingjun)a = Y_pingjun - b * X_pingjun                                          #计算系数aYuce = list(range(len(Last_T_yidong_Sum) + 1, len(Last_T_yidong_Sum) + yece_X_T* T + 1))#生成用于预测的X数组X_Y_yece_sum = []                                                      #建立个列表用来放移动合计的预测值for yuce_X_num in Yuce:                                                #遍历需要预测Y值的X数组Y_yuce = b * yuce_X_num + a                                        #按照回归系数进行预测X_Y_yece_sum.append(Y_yuce)                                        #把得到的预测值放入预存列表# 3.拼接移动做差every_T = Y[T:]                                                        #先把原始数据中一个周期时间点后的数据放到每期中start_X_T = int(len(Y[T:]))                                            #计算原始数据砍去第一个周期后的剩余长度for sum_y in X_Y_yece_sum:                                             #遍历移动求和的预测值every_T.append(sum_y)                                              #把移动求和的预测值添加到每期数据后方便做差方便向前做减for Y_i in list(range(start_X_T, start_X_T + len(X_Y_yece_sum))):      #从历史长度之后开始到最后一个位置为止every_T[Y_i] = every_T[Y_i] - sum(every_T[Y_i - T + 1:Y_i])        #减去前面T-1位的合计值(减去前面T-1项的求和)# 5.实际得到的X个周期内的各期值X_Y_every_yuce = every_T[start_X_T:]                                   #把历史数据移除只要预测出来的数据return X_Y_every_yuce                                                  #返回这个预测值列表#1.get请求
shuju = requests.get(URL)                                                  #用requests模块请求网页
print(shuju)                                                               #得到请求状态码检查是否正确请求成功
#print(shuju.content.decode('utf-8'))                                      #返回字节流数据  自己解码,避免乱码
#print(shuju.url)                                                          #查看完整url地址,自动帮忙编码
#print(shuju.encoding)                                                     # 查看响应头部字符编码
#print(shuju.text)                                                         #返回unicode格式的数据 有中文,已经解码 返回字符串
#print(shuju.content)                                                      #返回字节流数据  无中文,编码字节#整理得到的数据
liebiao_1= re.split(r'\[',shuju.content.decode('utf-8'))[-1]               #把字符串按方括号[切割取后面部分
liebiao_2 = re.split(r']',liebiao_1)[0]                                    #把字符串按方括号]切割取前面部分
liebiao_3 = re.split(r'","|"',liebiao_2)                                   #把字符串按引号和逗号切割
liebiao = []                                                               #建立一个空列表
for x in liebiao_3:                                                        #遍历原先切割字符串等得到的列表if x != '':                                                            #剔除空集liebiao.append(x)                                                  #放回空列表
#print(liebiao)
DaPan = {}                                                                 #建立个标准字典放数据
for i in range(0,len(liebiao)):                                            #遍历数据的行数DaPan['第'+str(i+1)+'行'] = {}                                         #生成行字典i_biao = re.split(r',',liebiao[i])                                     #对数据按逗号再切割for k in range(0,len(i_biao)):                                         #遍历切割好的数据到行列表下的列键DaPan['第' + str(i + 1) + '行']['第' + str(k + 1) + '列'] = float(i_biao[k])#标准工作日一年250天,一个周期T=250,一般4年含有一次闰年4T/8T为完整变化,所以选用7*250天的数据,预测第8个250天
Year = 2
#day_1 = get_line_excel(DaPan,1)[-250*Year:]                                  # 日期
open_2 = get_line_excel(DaPan,2)[-250*Year:]                                  # 开盘
end_3 = get_line_excel(DaPan,3)[-250*Year:]                                   # 收盘
max_4 = get_line_excel(DaPan,4)[-250*Year:]                                   # 最高
min_5 = get_line_excel(DaPan,5)[-250*Year:]                                   # 最低
#deal_6 = get_line_excel(DaPan,6)[-250*Year:]                                 # 成交量
#deal_7 = get_line_excel(DaPan,7)[-250*Year:]                                 # 成交额
#FFF_8 = get_line_excel(DaPan,7)[-250*Year:]                                  # 振幅Open = open_2                                                              #原始数据+预测数据
for i in Yuce(open_2,250,1):Open.append(i)END  = end_3                                                               #原始数据+预测数据
for m in Yuce(end_3,250,1):END.append(m)Max  = max_4                                                               #原始数据+预测数据
for n in Yuce(max_4, 250, 1):Max.append(n)Min  = min_5                                                               #原始数据+预测数据
for k in Yuce(min_5, 250, 1):Min.append(k)#可视化看下趋势
import matplotlib.pyplot as plt                                           #用于制定图表
from matplotlib.font_manager import FontProperties                        #用于设定中文
font = FontProperties(fname=r"C:\windows\fonts\msyh.ttc")                 #大概是用来指定系统中的中文#1.折线plt.title("大盘股指预测",fontproperties=font,fontsize=15)                 #给定图标名称并设置字号
plt.xlabel("日序数",fontproperties=font,fontsize=15)                      #给定X轴名称并设置字号
plt.ylabel("价格",fontproperties=font,fontsize=15)                        #给定Y轴名称并设置字号
#给定坐标刻度并设置字号,both意思是横竖坐标都包括,labelsize=刻度字号,direction=刻度线朝向,width=刻度线粗细,length=刻度线长度
plt.tick_params(axis='both',labelsize=10,width=1,length=10)               #direction='in',不写时自动在外面X = list(range(1,len(Open)+1))                                            #因为系统对应第一个Y值是0坐标,所以自设X坐标修正
plt.plot(X,Open,0,alpha=1,color='b',lw=1)                                 #(x,y)|坐标下限|透明度|颜色|粗细
plt.plot(X,END,0,alpha=1,color='y',lw=1)                                  #(x,y)|坐标下限|透明度|颜色|粗细
plt.plot(X,Max,0,alpha=1,color='r',lw=1)                                  #(x,y)|坐标下限|透明度|颜色|粗细
plt.plot(X,Min,0,alpha=1,color='g',lw=1)                                  #(x,y)|坐标下限|透明度|颜色|粗细plt.show()                                                                #显示内容

如果需要极值线做通道线的,可以将数据浮点化后,再使用这两个函数

def plt_Max(liebiao):Maxbox_num = []for i in range(0, len(liebiao)):if i == 0:if liebiao[i] > liebiao[i + 1]:Maxbox_num.append(i + 1)else:if i == len(liebiao) - 1:if liebiao[i] > liebiao[i - 1]:Maxbox_num.append(i + 1)else:if liebiao[i] > liebiao[i - 1]:if liebiao[i] > liebiao[i + 1]:Maxbox_num.append(i + 1)x_1 = Maxbox_numy_1 = []for i in x_1:y_1.append(x_1[i-1])import matplotlib.pyplot as plt  # 用于制定图表from matplotlib.font_manager import FontProperties  # 用于设定中文font = FontProperties(fname=r"C:\windows\fonts\msyh.ttc")  # 大概是用来指定系统中的中文plt.plot(x_1, y_1, 0, alpha=1, color='g', lw=2)  # (x,y)|坐标下限|透明度|颜色|粗细
def plt_Min(liebiao):Minbox_num = []for i in range(0, len(liebiao)):if i == 0:if liebiao[i] < liebiao[i + 1]:Minbox_num.append(i + 1)else:if i == len(liebiao) - 1:if liebiao[i] < liebiao[i - 1]:Minbox_num.append(i + 1)else:if liebiao[i] < liebiao[i - 1]:if liebiao[i] < liebiao[i + 1]:Minbox_num.append(i + 1)x_1 = Minbox_numy_1 = []for i in x_1:y_1.append(x_1[i - 1])import matplotlib.pyplot as plt  # 用于制定图表from matplotlib.font_manager import FontProperties  # 用于设定中文font = FontProperties(fname=r"C:\windows\fonts\msyh.ttc")  # 大概是用来指定系统中的中文plt.plot(x_1, y_1, 0, alpha=1, color='g', lw=2)  # (x,y)|坐标下限|透明度|颜色|粗细

这篇关于Python自学第4周反馈:大盘股指,从爬取到预测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/662523

相关文章

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e