How do you make a dictionary key from a CSV?
I'm having issues creating a dictionary key using a csvreader. I want to create a dictionary, which contains the location column where the data was found, so that I can write it out to a new location later. I haven't included the write function, because I want to understand how to do the create the keys first.
For example, this data point 123-123-1234 was found in row[0].
input_file_column_modification = ''
myData = []
primary_key_list = {}
if os.path.isfile(filename):
input_file_column_modification = open(filename)
myData = [item for item in csv.reader(input_file_column_modification)]
for row in myData:
primary_key_pattern_match = re.search('d{3}-d{3}-d{4}, row[0], re.I)
if primary_key_pattern_match is not None:
** QUESTION: How do I keep track of the row/columns were the data is being found?
primary_key_list.append(primary_key_pattern_match.group(0))
Current input being read in Note that 2 entries have no pattern to match.
Info,Address,City,ZipCode,Last Updated
Lorem ipsum dolor sit amet, consectetur (123-123-1234)adipiscing elita,100 some address,cityname,"zipcode",03/24/2016
Lorem ipsum dolor sit amet, consectetur adipiscing elit,200 some address, cityname,zipcode,03/24/2016
Lorem ipsum dolor sit amet, consectetur (345-345-3456) adipiscing elit,300 some address,cityname,zipcode,03/24/2016
Lorem ipsum dolor sit amet, consectetur adipiscing elit,400 some address, cityname,zipcode,03/24/2016
Lorem ipsum dolor sit amet, consectetur (567-567-5678) adipiscing elit,500 some address,cityname,zipcode,03/24/2016
这样做的一种方式是通过enumerate
,它可以为循环访问索引或“迭代计数器”和迭代的值:
for row_num, row in enumerate(myData):
primary_key_pattern_match = re.search('d{3}-d{3}-d{4}, row[0]', re.I)
if primary_key_pattern_match is not None:
row_num_and_row_data = (row_num, row)
# You now have a tuple whose 1st element is the row number
# and whose 2nd element is the row (a tuple or list).
# You can also skip making a tuple and add the row
# to a dictionary immediately (declare it before the loop):
row_dict[row_num] = row
# or to add the results of the regex:
row_dict[row_num] = primary_key_pattern_match.group(0)
链接地址: http://www.djcxy.com/p/55106.html
上一篇: 获取字符串的最后4个字符
下一篇: 你如何从CSV中创建字典密钥?