- 此问题在此处已有答案**:
How can I remove a trailing newline?(27个答案)
2小时前关门了。
我必须从. csv文件加载联系人,无论何时打印,它都会显示\n。注意:我不能使用任何导入的/json模块,因为它必须依赖于传统的文件python处理
contacts = []
def loadContacts(filename):
file = open('contacts.csv','r')
keys = "name", "surname", "DOB", "mobileNo", "locality"
while True:
x = file.readline()
if x == '':
break
else:
value = x.split(',')
contact = dict(tuple(zip(keys,value)))
filename.append(contact)
file.close()
return contacts
loadContacts(contacts)
for x in contacts:
print(x)
. csv文件:
Peter, Abdilla, 22/02/1986, 79811526, Zabbar
John, Borg, 12/04/1982, 99887654, Paola
输出:
{'name': 'Peter', 'surname': ' Abdilla', 'DOB': ' 22/02/1986', 'mobileNo': '79811526', 'locality': ' Zabbar\n'}
{'name': 'John', 'surname': ' Borg', 'DOB': ' 12/04/1982', 'mobileNo': '99887654', 'locality': ' Paola\n'}
预期输出应该是:
{'name': 'Peter', 'surname': ' Abdilla', 'DOB': ' 22/02/1986', 'mobileNo': '79811526', 'locality': ' Zabbar'}
{'name': 'John', 'surname': ' Borg', 'DOB': ' 12/04/1982', 'mobileNo': '99887654', 'locality': ' Paola'}
1条答案
按热度按时间50pmv0ei1#
CSV中的每一行都有一个endLine字符
'\n'
,因此当您尝试逐行读取csv文件的内容时,字符串中也会出现“\n”。因此,我们只需要用一个空字符串替换
'\n'
。要解决这个问题,请使用python的string
replace()
函数。