1
저는 파이썬으로 새로운데 도움이 필요합니다. 파일에서 두 개의 열을 가져와 "새 파일"로 복사하는 python 스크립트를 만들었습니다. 그러나 매번 "새 파일"에 열을 추가해야합니다. 사이드에 컬럼을 추가해야합니다. 내 스크립트가 맨 아래에 추가합니다. 누군가 CSV를 사용하도록 제안했는데 그것에 대해 읽었지만 이전 열의 측면에 새 열을 추가하는 방식으로는 만들 수 없습니다. 어떤 도움을 주셔서 감사합니다.파이썬 CSV 모듈, 하단이 아닌 측면에 열을 추가하십시오.
-
:
import sys
import re
import csv
filetoread = sys.argv[1]
filetowrite = sys.argv[2]
newfile = str(filetowrite) + ".txt"
openold = open(filetoread,"r")
rline = openold.readlines()
number = int(len(rline))
start = 0
for i in range (len(rline)) :
if "2theta" in rline[i] :
start = i
words1 = []
words2 = []
for line in rline[start + 1 : number] :
words = line.split()
word1 = words[1]
word2 = words[2]
words1.append([word1])
words2.append([word2])
with open(newfile, 'wb') as file:
writer = csv.writer(file, delimiter= "\n")
writer.writerow(words1)
writer.writerow(words2)
이 입력 파일 중 일부 샘플은 다음과 같습니다 여기
import sys
import re
filetoread = sys.argv[1]
filetowrite = sys.argv[2]
newfile = str(filetowrite) + ".txt"
openold = open(filetoread,"r")
opennew = open(newfile,"a")
rline = openold.readlines()
number = int(len(rline))
start = 0
for i in range (len(rline)) :
if "2theta" in rline[i] :
start = i
for line in rline[start + 1 : number] :
words = line.split()
word1 = words[1]
word2 = words[2]
opennew.write (word1 + " " + word2 + "\n")
openold.close()
opennew.close()
사용, CSV 내가 쓴 두 번째 코드 : 여기
내가 쓴 코드
첫 번째 스크립트는 맨 아래에 새 열을 쓰고 이전 열의 측면에 필요하다는 점을 제외하면 "거의"훌륭합니다.
내가 제안한 단어는 바뀌지 만 여전히 작동하지 않습니다. 필요한 것은 이미 추가하려는 새로운 쌍의 열을 이미 (출력) 파일에있는 열의 측면에 추가하는 것입니다. 나는 이것을 심각하게 잃어 버렸다. – Justme
@henrymartinez, 오리지널 코드가 오해가있는 부분을 잃어 버렸던 열을 추가하려고하지 않았기 때문에. –
답장을 보내 주셔서 감사합니다. 나는 파이썬으로 새롭고 내가하는 일이 맞지 않을 가능성이 높습니다. 첫 번째 코드는 많은 열을 포함하는 파일 (맨 위의 입력 파일 샘플 참조)에서 열을 가져온 다음 "새 파일"에 복사합니다. 나는 단지 같은 "새 파일"에 새로운 열 집합을 복사 할 때이 열이 아래의 열이 아닌 이전의 열 옆에 추가되기를 바랍니다. 내 코드를 작성하는 방법에 대한 제안은 매우 높이 평가됩니다. 친애하는. – Justme