私はPythonの初心者ですが、いくつかの有用なPythonコードを作成できました(少なくとも私の仕事には役立ちます)。2 つのコードを結合したいのですが、それを機能させるのに苦労しています。コードがどのように見えるかについて完全に迷っていると思います。
最初のコードは基本的にファイルを取得し、それを読み取り、そこから列に抽出してから、列を新しいファイルに書き込みます。これをいくつかのファイルで繰り返します。
import sys
import re
filetowrite = sys.argv[1]
filetoread = sys.argv[2]
newfile = str(filetowrite) + ".txt"
openold = open(filetoread,"r")
opennew = open(newfile,"w")
rline = openold.readlines()
number = int(len(rline))
start = 0
for i in range (len(rline)) :
if "2theta" in rline[i] :
start = i
opennew.write ("q" + "\t" + "I" + "\n")
opennew.write ("1/A" + "\t" + "1/cm" + "\n")
opennew.write (str(filetowrite) + "\t" + str(filetowrite) + "\n")
for line in rline[start + 1 : number] :
words = line.split()
word1 = (words[1])
word2 = (words[2])
opennew.write (word1 + "\t" + word2 + "\n")
openold.close()
opennew.close()
2 番目のコードは、以前に作成された新しいファイルを取得し、最終的なファイルで列が隣り合うようにそれらを結合します。
import sys
from itertools import izip
filenames = sys.argv[2:]
filetowrite = sys.argv[1]
newfile = str(filetowrite) + ".txt"
opennew = open(newfile, "w")
files = map(open, filenames)
for lines in izip(*files):
opennew.write(('\t'.join(i.strip() for i in lines))+"\n")
これらの 2 つのコードから単一のコードを作成する方法についてのヘルプは、非常に高く評価されています。
ではごきげんよう