我正试图将另一部分绑定到现有的Python程序中。我对Python很陌生,即使有所有的帮助,也无法解决这个问题。我将在下面列出我现有的Python程序,我只想添加另一部分来执行另一个任务。将CSV列内容拆分为多列
当前程序打开“initial.csv”,并在第一列中查找任何关键字。如果它匹配,它将行写入“listname_rejects.csv”和任何不匹配的行中,它将写入“listname.csv”。这听起来倒退了,但对于我所做的,这是正确的。我用过它一千次。
现在,我想添加到这里,是能够看第2列(充满地址),并将它们分成不同的列。例如,这 -
Name,Address,Phonenumber,ID
John,"123 Any Street, New York, NY 00010",999-999-9999,321654
打开到这个 -
Name,Street,City,State,Zipcode,Phonenumber,ID
John,123 Any Street, New York, NY, 00010,999-999-9999,321654
基本上,我需要能够到第二列爆炸成单独的列。我不需要在第2列中填写整个地址,而是需要在第2列,3列,4列,&之间将其拆分。5.
我发现在堆栈溢出上接近此事件,但是又是新的到Python,并不知道如何将它们分成我的当前代码。
key_words = [
'Suzy',
'Billy',
'Cody',
]
listname = raw_input ("Enter List Name:")
listname_accept = (listname) + '.csv'
listname_rejects = (listname) + '_rejected.csv'
with open('initial.csv', 'r') as oldfile, open(listname_accept, 'w') as cleaned:
for line in oldfile:
if not any(key_word in line.split(",", 1)[0] for key_word in key_words):
cleaned.write(line)
else:
matched.write(line)
我注意到两件事:你的代码没有实现CSV。使用['csv'](https://docs.python.org/3/library/csv.html)模块。这很容易,并避免了许多错误。其次:如果你想正确处理地址,解析地址并不是微不足道的。做一些搜索找到一些疯狂的方式,在美国发生有效的街道和地址号码。 – dsh
谢谢。我将在我的代码中实现csv。我的csv文件中的地址都具有相同的共同趋势,所以我想我可以实现一些东西。 – CFraley
@CFraley您能否始终保证“地址”符合以下格式:“”,,“'? –
LMc