给定一个包含大约1,200个文本文件的文件夹,这些文件都以这种方式格式化......
Time range of SELECTION
From 1.133071 to 4.457098 seconds (duration: 3.324027 seconds)
Pitch:
Median pitch: 172.651 Hz
Mean pitch: 167.584 Hz
Standard deviation: 48.839 Hz
Minimum pitch: 59.460 Hz
Maximum pitch: 269.304 Hz
Pulses:
Number of pulses: 216
Number of periods: 141
Mean period: 6.646523E-3 seconds
Standard deviation of period: 2.969047E-3 seconds
Voicing:
Fraction of locally unvoiced frames: 46.348% (368 / 794)
Number of voice breaks: 13
Degree of voice breaks: 50.270% (1.670989 seconds / 3.324027 seconds)
Jitter:
Jitter (local): 5.795%
Jitter (local, absolute): 385.185E-6 seconds
Jitter (rap): 2.361%
Jitter (ppq5): 1.908%
Jitter (ddp): 7.083%
Shimmer:
Shimmer (local): 20.262%
Shimmer (local, dB): 1.841 dB
Shimmer (apq3): 10.382%
Shimmer (apq5): 22.335%
Shimmer (apq11): --undefined--
Shimmer (dda): 31.145%
Harmonicity of the voiced parts only:
Mean autocorrelation: 0.515841
Mean noise-to-harmonics ratio: 1.232685
Mean harmonics-to-noise ratio: 0.331 dB
...我怎么能写出一些遍历所有1,200个文件的程序,只在字符串“duration:”,“Mean pitch:”,“Minimum pitch:”,“Maximum”之后提取数值。音高:“,”抖动(本地):“,”抖动(说唱):“,”闪光(本地):“,”平均噪声与谐波比:“和”平均谐波噪声比:“并将它们写入一个大文件(我可以打开或粘贴到Excel中),每个文本文件包含一行值?
我发现这些论坛中讨论的类似问题已经使用Python解决了,但是我无法理清所有代码的工作方式。我不是很擅长那种事情。有人可以帮忙吗?
答案 0 :(得分:1)
这个问题有点偏离主题;一般来说,一旦你尝试了一些东西并遇到问题,你应该来这里。但是:
要处理文件夹结构中的所有文件,请查看os.walk
。
要访问这些文件,请阅读open
和file objects。
要处理每一行,请使用string methods。
要导出到* .csv,可以在Excel中轻松打开并进一步处理,请尝试csv
library。