从文本文件中提取值并写入单个电子表格

时间:2013-12-03 17:54:53

标签: python excel

给定一个包含大约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解决了,但是我无法理清所有代码的工作方式。我不是很擅长那种事情。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

这个问题有点偏离主题;一般来说,一旦你尝试了一些东西并遇到问题,你应该来这里。但是:

  1. 要处理文件夹结构中的所有文件,请查看os.walk

  2. 要访问这些文件,请阅读openfile objects

  3. 要处理每一行,请使用string methods

  4. 要导出到* .csv,可以在Excel中轻松打开并进一步处理,请尝试csv library