Объединение текстовых файлов в ключ / значение

Я использую макрос в Excel для создания пары ключ / значение следующим образом:

Sub GetKeyValue() Dim FileName As String, i As Integer, str As String FileName = "C:\keyvalue.txt" Open FileName For Output As #1 For i = 1 To 50 str = Cells(i, 1) & ", " & Cells(i, 2) Print #1, str Next i Close #1 End Sub 

Вышеприведенные значения принимают значения в A1-A50 и B1-B50 и используют их в качестве основы для создания файла.

Как я могу сделать что-то подобное в Python?

Мое мышление состоит из двух текстовых файлов: одного для ключей и одного для значений, а также слияния двух, а затем сохранения его в словаре.

Вы можете использовать модуль csv, предполагая, что значения и ключи поступают из ячеек A и B того же файла.

 import csv with open("file.csv", "r") as f: reader = csv.reader(f) d = {line[0]:line[1] for line in reader} 

Если ключи и значения поступают из разных файлов, вы можете хранить пары в словаре как:

 with open("keys.csv", "r") as the_keys, open("values.csv", "r") as the_values: keys = csv.reader(the_keys) values = csv.reader(the_values) my_dic = {line1[0]:line2[0] for line1,line2 in zip(keys,values)} # Write to a new csv file. with open("final.csv", "wb") as out: writer = csv.writer(out, delimiter=',') for k,v in my_dic.iteritems(): writer.writerow([k,v]) 

Вы можете пропустить модуль csv и просто записать файлы как:

 with open("keys.txt", "r") as f, open("values.txt", "r") as x: h = {line1.strip():line2.strip() for line1,line2 in zip(f,x)} with open("final.csv", "w") as out: for k,v in h.iteritems(): out.write("{},{}\n".format(k,v)) 
Давайте будем гением компьютера.