如何从CSV中生成字典键?

2024-06-01 23:07:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用csvreader创建字典密钥时遇到问题。我想创建一个字典,其中包含找到数据的location列,以便以后可以将它写到一个新位置。我没有包含write函数,因为我想先了解如何创建键。你知道吗

例如,该数据点123-123-1234位于第[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))

正在读取的当前输入 请注意,2个条目没有要匹配的模式。你知道吗


信息,地址,城市,邮编,上次更新

Lorem ipsum dolor sit amet,Concetetur(123-123-1234)Adipising elita,100 some address,cityname,“zipcode”,2016年3月24日

Lorem ipsum dolor sit amet,Concetetur Adipising elit,200 some address,城市名称,邮编:03/24/2016

Lorem ipsum dolor sit amet,Concetetur(345-345-3456)Adipising elit,300 some address,cityname,邮编:03/24/2016

Lorem ipsum dolor sit amet,Concetetur Adipising elit,400 some address,城市名称,邮编:03/24/2016



Lorem ipsum dolor sit amet,Concetetur(567-567-5678)Adipising elit,500 some address,cityname,邮编:03/24/2016


Tags: keyinputaddresssomefileipsumlorem邮编
1条回答
网友
1楼 · 发布于 2024-06-01 23:07:00

其中一种方法是通过^{},它在循环遍历iterable时为您提供索引或“迭代计数器”以及iterable的值:

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)

相关问题 更多 >