gpt4 book ai didi

python - Csv Reader 需要一个字符缓冲区对象

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:35 25 4
gpt4 key购买 nike

我有 csv 格式的 DNS 记录,它有主机名和 IPAdress 标签。它包括公共(public)和私有(private)(“192.168”、“172.16”和“10.0”)IP 地址,并且我想将彼此分开。当我运行我的代码时,我收到了“预期字符缓冲区对象”错误代码。如何解决这个问题

import csv
with open('Dns.csv', 'rb') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
if "10.205" in row['IPAddress']:
file10=open("Zone10.txt","a")
a=(row['hostname'], row['IPAddress'])
file10.write(a)

最佳答案

原因是您正在尝试将元组写入file10。所以应该修改下一行

a=(row['hostname'], row['IPAddress'])
file10.write(a)

例如,如果您要将其写为字符串,您可以这样做:

file10.write(' '.join(a))  # it will work 

a='{}{}'.format(row['hostname'], row['IPAddress'])
file10.write(a)

顺便说一句,最好使用上下文管理器打开file10

关于 CSV 输出的评论:

output = []
for row in reader:
if "10.205" in row['IPAddress']:
output.append(row)
if output:
with open('Zone.csv', 'wb') as zonefile:
writer = csv.DictWriter(zonefile, fieldnames=output[0].keys())
writer.writeheader()
writer.writerows([row for row in output])

这是非常快速编写的代码,但我希望它能有所帮助

关于python - Csv Reader 需要一个字符缓冲区对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35646404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com