gpt4 book ai didi

python - pandas 中 csv 模块的 writerow() 等价物是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 23:52:41 26 4
gpt4 key购买 nike

我目前正在为脚本制作不同的功能,并且我有一个功能可以与 writerow() 完美配合,但是对于我的其他功能,我使用了 pandas,我正在尝试寻找与之等效的功能.我很确定 to_csv 不是我想要的。

这是在两个函数上测试的同一个 CSV。

jeffrey,192.168.1.1,example1.com,30220,internet serverice provider 1
mike,192.168.1.2,example2.com,30220,internet service provider 1
frank,192.168.1.3,example3.com,30220,internet service provider 1
lucy,192.168.1.4,example4.com,14619,internet service provider 2
louisa,192.168.1.5,example5.com,14619,internet service provider 2
emily,192.168.1.6,example6.com,3357,internet service provider 3
john,192.168.1.7,example7.com,210,internet service provider 4

这是我的脚本,适用于 writerow()

import csv

document= open("sample.csv")

def start_yes():
with open ('good_numbers', 'w') as output:
with document as file:
output_data = csv.writer(output, delimiter = ',')
reader = csv.reader(file)
list_1 = ['3357','210']
for row in reader:
if row[3] in list_1:
output_data.writerow(row)

使用 sample.csv 运行此脚本会得到这样的结果,这正是我想要的。

emily,192.168.1.6,example6.com,3357,internet service provider 3 
john,192.168.1.7,example7.com,210,internet service provider 4

这是我试图找到与 writerow() 等效但使用 pandas 模块的脚本。

import pandas as pd 

df = pd.read_csv('sample.csv', header=None)
good_nums = ['3357','210']
bad_nums = ['30220']
maybe_nums = list(set(df[3].tolist()) - set(good_nums + bad_nums))
for asn in df:
if asn in df[3]:
asn.to_csv('output.csv', index=False)

如何使用使用 pandas 的脚本让我的结果看起来像这样

lucy,192.168.1.4,example4.com,14619,internet service provider 2
louisa,192.168.1.5,example5.com,14619,internet service provider 2

非常感谢任何帮助!

最佳答案

你可以直接使用

df = pd.read_csv('sample.csv', header=None)
good_nums = [3357,210]
df.loc[df['numbercolumn'].isin(good_nums)].to_csv('output.csv',index=False)

这也更快,因为您不需要通过循环逐行编写..

关于python - pandas 中 csv 模块的 writerow() 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58808680/

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