Python 3.x 使用具有特定格式的文件夹中的文本文件创建表
我正试图写一个程序,将所有的.txt文件在一个文件夹,并附加到一个大表中。包含这些文件的文件夹将它们按数字顺序从最小到最大排列,这也是我希望最终结果的方式,因为我正在尝试使用该表制作颜色贴图。问题是,它必须始终添加第一个文件的两列,然后再添加每个文件的第二列。这是因为第一列是频率,每个文件的频率相同,只有振幅变化 这些文件的结构如下:Python 3.x 使用具有特定格式的文件夹中的文本文件创建表,python-3.x,Python 3.x,我正试图写一个程序,将所有的.txt文件在一个文件夹,并附加到一个大表中。包含这些文件的文件夹将它们按数字顺序从最小到最大排列,这也是我希望最终结果的方式,因为我正在尝试使用该表制作颜色贴图。问题是,它必须始终添加第一个文件的两列,然后再添加每个文件的第二列。这是因为第一列是频率,每个文件的频率相同,只有振幅变化 这些文件的结构如下: File1.txt = File1[0] File1[1] freq amp freq a
File1.txt = File1[0] File1[1]
freq amp
freq amp
. .
. .
freq amp
我希望我的最终结果如下:
Table.txt = File1[0] File1[1] File2[1] File3[1] ... File(n)[1]
freq amp amp amp amp
freq amp amp amp amp
freq amp amp amp amp
如果有任何滥用符号的情况,请提前道歉,我正在学习python,因为我正在进行我的研究
到目前为止,我的代码是
import numpy as np
import scipy as sp
import os, glob, _thread, re, time, argparse
## Get path
parser = argparse.ArgumentParser(description = '')
parser.add_argument('directory', nargs = '?', action = 'store',
default = os.curdir, help = 'Directory containing data')
results = parser.parse_args()
path = results.directory
## Regex for files
matchThis = '(\d+)\.(\d)([a-z][A-Z])\.(txt)'
## Coulmn from which data is used, MuMax = 1 : Daq = varies on output
col = 1
########
def main():
#Get file names of all files in current folder
datafilesName = glob.glob(os.path.join(path, "*.txt"))
#Sort the list according to numbers in "matchThis"
datafilesName.sort(key = numkeys)
outputM = open('..\output_matrix.txt','wb')
first = True
M = []
for file in datafilesName:
print(file)
data = np.loadtxt(file, usecols = (0,col), unpack = True)
newData = np.array(data[1])
if first:
M.append(data[0])
M.append(newData)
else:
M.append(newData)
first = False
np.savetxt(outputM, np.transpose(M))
outputM.close()
return
########
def numkeys(text):
return [item for item in re.findall(matchThis,text) ]
if __name__ == '__main__':
main()
你的问题(问题陈述)对我来说有点模糊。您是否有任何代码可以演示如何开始或解决此问题?我刚刚编辑了问题以包含我的代码,很抱歉没有将其放在第一位。很酷,无需担心,谢谢您使用代码进行更新。其中有什么能/不能实现你的目标?看起来应该差不多完成了。@downshift我解决了我的问题,numkeys定义中的浮点转换就是我一直遇到的错误。不再为我编写深夜代码:)事实证明,我的代码没有按预期工作,无法使文件保持有序,我不知道为什么。你的问题(问题陈述)对我来说有点含糊不清。您是否有任何代码可以演示如何开始或解决此问题?我刚刚编辑了问题以包含我的代码,很抱歉没有将其放在第一位。很酷,无需担心,谢谢您使用代码进行更新。其中有什么能/不能实现你的目标?看起来应该差不多完成了。@downshift我解决了我的问题,numkeys定义中的浮点转换就是我一直遇到的错误。不再为我编写深夜代码:)事实证明,我的代码没有按预期工作,无法保持文件的组织,我不知道为什么。