我正在寻找以下
的一些指示从已排序的csv中读取数据,并根据条件创建不同的csv文件。我的输入文件如下所示
Ip Subnet location
1.0.1.2 255.255.255.0 Argentina
1.0.1.3 255.255.255.0 Argentina
1.3.4.5 255.255.255.0 Belgium
1.2.4.5 255.255.255.0 Belgium
3.4.5.6 255.255.255.0 California
1.2.7.8 255.255.255.0 California
我想要的是我应该为每个位置获取一个csv文件(根据上面的输入文件3个文件) 当它正在读取输入文件时......当它找到不同的位置时,它应该开始创建新文件并写入数据......并再次找到它应该切换到新文件的不同位置
任何帮助实现上述目标都会非常有帮助......或者还有其他方法吗?
答案 0 :(得分:0)
以下脚本应该有效。它将根据当前国家/地区创建CSV文件名。它假设您的输入日志文件采用标准CSV格式:
import csv
with open('log.csv') as f_input:
csv_input = csv.reader(f_input)
headings = next(csv_input)
country = ''
f_output = None
for cols in csv_input:
if country != cols[2]:
country = cols[2]
if f_output:
f_output.close()
f_output = open(country + ".csv", "wb")
csv_output = csv.writer(f_output)
csv_output.writerow(headings)
csv_output.writerow(cols)
f_output.close()
因此,例如,您将获得一个名为Argentina.csv
的文件,其中包含以下内容:
Ip,Subnet,location
1.0.1.2,255.255.255.0,Argentina
1.0.1.3,255.255.255.0,Argentina