Я пытаюсь взять заданный файл csv и определить первый столбец в качестве ключей, тогда как каждый ключ относится к массиву из двух значений, где одно значение находится во втором столбце, а другое значение находится в третьем столбце. В конце концов, это не вариант переключения столбцов в строки и наоборот, видя, что у меня есть буквально сотни строк в каждом csv, с которым я должен работать. Когда я смотрел онлайн, единственная помощь, которую я мог найти, использовал синтаксис с строками, есть ли способ работать с столбцами?В python, как написать столбцы CSV-файла в словаре?
Вот код, который я пробовал:
import csv
reader = csv.reader(open('test.csv'))
result = {}
for row in reader:
key = column0
if key in result:
pass
result[key] = column1 and column2
print result
И CSV я тестирую (test.csv):
g1_and_g2, 0.04286547, -1.45
g2_and_g2, 0.12348197, 3.00
g3_and_g4, 0.03125879, 1.89
При запуске программы в терминале, я получаю ошибку :
NameError: name 'g1_and_g2' is not defined
Я довольно новичок в программировании, поэтому любая полученная помощь ценится. Благодаря!
EDIT, чтобы добавить дополнительную информацию: Ожидаемый результат должен быть просто словарь, который как:
g1_and_g2: 0.04286547,-1.45
g2_and_g2: 0.12348197, 3.00
g3_and_g4: 0.03125879, 1.89
Так по существу, строки в первом столбце должны быть ключи, а целые числа во втором два столбцы должны быть значениями, связанными с ключом в этой строке.
Кроме того, я бег питона 2.7
Сообщение об ошибке совсем не совпадает с кодом. Я подозреваю, что вы изменили стоимость этого вопроса до такой степени, что он не является репрезентативным для вашей проблемы. –
Можете ли вы предоставить ожидаемый результат? Это поможет. – aIKid
Какое поведение вы хотите, если в файле повторяется ключ? Кроме того, какую версию Python вы используете? В более поздних версиях Python есть несколько сокращенных обозначений, которые могут быть полезны. –