|
代码都是直接在网上找的,拼凑而来,独乐乐,不如众乐乐,
程序主要是使用pandas alive这个库,将数据转换成GIF文件,最终视频保存在final2中,
按照图示,建以下文件夹,
.csv文件样式,内容瞎编的,不要当真
剩下的小伙伴们就自己玩吧,如果有更好玩的话,也请共享一下
完整代码:
import os
import glob
import pandas as pd
import pandas_alive
from moviepy.editor import *
import random
import matplotlib.pyplot as plt
#显示汉字,打开
#plt.rcParams["font.sans-serif"]=["SimHei"]
path = r"C:\Users\admin\Desktop\1"
filename = glob.glob(os.path.join(path, "*.csv"))
print(filename)
num = 0
for i in filename:
num =num+1
df = pd.read_csv(i, index_col = 0, parse_dates=[0], thousands = ",", error_bad_lines=False)
df.fillna(0).plot_animated( "./examples/"+str(num)+".gif", n_visible = 4, title = "name", period_fmt = "%Y")
print("over....")
vfc = VideoFileClip("./examples/"+str(num)+".gif")
vfc.write_videofile("./video/"+str(num)+".mp4")
#需添加背景音乐的视频加BGM
video_clip_path = "./video/"+str(num)+".mp4"
video_clip1 = VideoFileClip(video_clip_path)
#提取视频对应的音频,并调节音量
#video_audio_clip1 = video_clip1.audio.volumex(0.8)
#背景音乐
audio_clip_path = "./music/"
nn = os.listdir(audio_clip_path)
#随机选取一个
nn = random.sample(nn,1)
for k in nn:
print(k)
audio_clip1 = AudioFileClip("./music/"+k).volumex(1)
#设置背景音乐循环,时间与视频时间一致
audio1 = afx.audio_loop( audio_clip1, duration=video_clip1.duration)
#视频声音和背景音乐,音频叠加
audio_clip_add1 = CompositeAudioClip([audio1])
#视频写入背景音
final_video1 = video_clip1.set_audio(audio_clip_add1)
#将处理完成的视频保存
final_video1.write_videofile("./final2/"+str(num)+".mp4")
print("final2over..................")
|
|