Как использовать переменную в path?

#python #csv

#python #csv

Вопрос:

У меня есть следующий код для чтения трех компонентов двух волн и извлечения каждого из них в файл CSV.
Я все еще новичок, и поэтому код очень длинный, по крайней мере, я не хочу вводить имя волны (EHMH011604150003.EW1 EHMH011604150003.NS1 …) 6 раз в моей части чтения. как я могу поместить туда переменную, которую я определил как «name»?

Также приветствуются любые советы по приданию коду умного вида.

Спасибо

 from pathlib import Path
import os
import numpy as np

import csv
#p =Path('D:/Jobs_2020/RJA/')
#p2 = p/'20160415波形'
#p3 = p2/'kik'


name = 'EHMH011604150003'

# Function 'getKiK-net'
def Convert2Acc(data):
   tokens = data.split()

   # Scale factor
   (Scale, Factor) = tokens[tokens.index('Factor') 1].split('(gal)/')

   # Strong motion
   items = tokens[tokens.index('Memo.') 1:]

   rdata = np.array(items, dtype=np.float64)   # rdata: raw data
   acc_gal = (rdata - rdata[0]) * float(Scale) / float(Factor)

   return acc_gal  # acc_gal: Acc. converted unit into gal

# Read data filess
rfile_EW1 = 'D:\Jobs_2020\RJA\20160415波形\kik\EHMH011604150003.EW1'
fr_EW1 = open(rfile_EW1, 'r')
EW1_gal = fr_EW1.read()
fr_EW1.close()

rfile_NS1 = 'D:\Jobs_2020\RJA\20160415波形\kik\EHMH011604150003.NS1'
fr_NS1 = open(rfile_NS1, 'r')
NS1_gal = fr_NS1.read()
fr_NS1.close()

rfile_UD1 = 'D:\Jobs_2020\RJA\20160415波形\kik\EHMH011604150003.UD1'
fr_UD1 = open(rfile_UD1, 'r')
UD1_gal = fr_UD1.read()
fr_UD1.close()

rfile_EW2 = 'D:\Jobs_2020\RJA\20160415波形\kik\EHMH011604150003.EW2'
fr_EW2 = open(rfile_EW2, 'r')
EW2_gal = fr_EW2.read()
fr_EW2.close()

rfile_NS2 = 'D:\Jobs_2020\RJA\20160415波形\kik\EHMH011604150003.NS2'
fr_NS2 = open(rfile_NS2, 'r')
NS2_gal = fr_NS2.read()
fr_NS2.close()

rfile_UD2 = 'D:\Jobs_2020\RJA\20160415波形\kik\EHMH011604150003.UD2'
fr_UD2 = open(rfile_UD2, 'r')
UD2_gal = fr_UD2.read()
fr_UD2.close()

# Store data in array
# _Acc: 2D Array
_Acc1 = [Convert2Acc(EW1_gal), Convert2Acc(NS1_gal), Convert2Acc(UD1_gal)]

Acc1 = np.array(_Acc1).T # Acc: Transposed 2D array to write to .csv file

_Acc2 = [Convert2Acc(EW2_gal), Convert2Acc(NS2_gal), Convert2Acc(UD2_gal)]

Acc2 = np.array(_Acc2).T # Acc: Transposed 2D array to write to .csv file


# Write to .csv file

with open(str(name) '-1' '.csv', 'w') as file:
   writer = csv.writer(file, lineterminator='n')

   writer.writerows(Acc1)

with open(str(name) '-2' '.csv', 'w') as file:
   writer = csv.writer(file, lineterminator='n')

   writer.writerows(Acc2)
  

Ответ №1:

Что-то вроде:

 rfile_EW1 = 'D:\Jobs_2020\RJA\20160415波形\kik\' name '.EW1'
  

должно сработать.