私はPythonを学習しており、一般的にプログラミングしていて、本当に助けが必要です。名前に基づいた別のリストのファイルと1つのリストのファイルを一致させるPython
私はpythonスクリプトを書いて、一意の値を取得し、二番目のファイルを開き、それらの一意の値を使用して計算します(スクリプトは長すぎます)。 私はpyqt4を使ってguiを作成しました。ユーザーがQPushButton
をクリックしてブラウズできるようにして、ファイルパスをQLineEdit
に保存しました。スクリプト内にファイルを設定してf1 = self.lineedit.text()
とf2 = self.lineedit2.text
のようにすべてうまく機能しましたが、複数のファイルを選択して、対応するファイルは2つのファイルが互いに依存しているため、2つのファイルがあります。
ここでは、複数のファイルを受け入れるためにウィジェット関数に加えた更新があります。
def first_file_set(self):
dlg = QFileDialog()
files = dlg.getOpenFileNames()
self.listWidget.addItems(list(files))
def second_file_set(self):
dlg = QFileDialog()
filenames = dlg.getOpenFileNames()
self.listWidget_2.addItems(list(filenames))
def clearF(self):
for item in self.listwidget2.selectedItems():
self.listWidget.clear()
def clearS(self):
for item in self.listwidget.selectedItems():
self.listWidget_2.clear()
def Calculate(self):
#code is too long this is how I am reading files
l1 = []
f1 = self.listWidget.item()
with open(f1,'r') as csvfile:
csvreader = csv.reader(csvfile)
for line in csvreader:
l1.append(list(line))
# more code
l2 = []
f2 = self.listWidget_2.item()[0]
with open(f2,'r') as csvfile:
csvreader = csv.reader(csvfile)
for line in csvreader:
l2.append(list(line))
# more code
私はまだこのコードを書いていますが、今回は複数のファイルを使用したいと思います。
例えば、
listwidget
にファイルパスから開いて一つのファイルに、ユニークなアイテムをつかみ、私のファイル1と2場合は、リスト内のすべてのファイルに対して
を繰り返して、計算を実行するためにユニークなアイテムを使用しlistwidget_2
にそのパスから同じ名前のファイルを見つけますどのように私はそれらを引っ張って一致させるのですか?
例ファイル1名: filemap02.csv filemap03.csv filemap04.csv
例は、二つの名前ファイル: newmap02.csv newmap03.csv newmap04.csv
ありがとうございました! – MiguelA