curl 将csv/txt中的每一行插入Python中的新变量

piok6c0g  于 2022-11-13  发布在  Python
关注(0)|答案(1)|浏览(161)

我是编程新手。我正在寻求帮助,将csv/txt中的每一行插入Python中的一个新变量。
我有一个CSV或TXT文件(无论哪个更容易解决这个问题),里面装满了说用的IP地址:

#lines.csv

192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7

我需要读取这个文件,并将每一行插入到一个新的变量(或一维表)中。

import csv

with open("lines.csv") as csvFile:   #opens
  csvDATA = csv.reader(csvFile, delimiter=',')  #reads
  for row in csvDATA:   #loops
    print (row)   #prints
csvFile.close()

在稍后的另一个循环中,我将对每个IP地址进行缓存,因此,如果您认为有更简单的方法来处理此问题,请与我分享。
任何和所有的帮助将不胜感激!谢谢。

mtb9vblg

mtb9vblg1#

如果我没理解错的话,您可以使用**csv.DictReader将.csv的每一行作为有序的dict返回,然后使用zip()**将其值Map到URL列表。
试试看:

import csv
from pprint import pprint

dict_of_ips = {}
with open("lines.csv", "r",  delimiter=',', encoding="utf-8-sig") as f:
    csvDATA = csv.DictReader(f, fieldnames=['IP address'])
    for row in csvDATA:
        dict_of_ips[row['IP address']] = ''

list_of_urls = ['url1', 'url2', 'url3', 'url4', 'url5', 'url6', 'url7']
out = dict(zip(dict_of_ips, list_of_urls))

pprint(out)
{'192.168.1.1': 'url1',
 '192.168.1.2': 'url2',
 '192.168.1.3': 'url3',
 '192.168.1.4': 'url4',
 '192.168.1.5': 'url5',
 '192.168.1.6': 'url6',
 '192.168.1.7': 'url7'}

pprint(out['192.168.1.1'])
'url1'

相关问题