(简单Python)用户名的CSV输入

时间:2015-12-11 05:59:24

标签: python string csv username

我有一个CSV文件names.csv

First_name, Last_name
Mike, Hughes
James, Tango
, Stoke
Jack,
 ....etc

我想要的是能够获取First_name的第一个字母和完整的Last_name,并将其作为用户名输出到屏幕上,但不包括First_name和{{}}的人{1}}属性为空。非常感谢我完全坚持任何帮助

Last_name

尝试#2

import csv 
ifile = open('names.csv', "rb") 
reader = csv.reader(ifile) 
rownum = 0 
for row in reader: 
    if rownum == 0: 
        header = row 
    else: 
        colnum = 0 
for col in row: 
    print '%-8s: %s' % (header[colnum], col) 
    colnum += 1 
    rownum += 1 
ifile.close()

我没有多次尝试,因为他们都没有工作:S

3 个答案:

答案 0 :(得分:0)

import csv
dataFile = open('names.csv','rb')
reader = csv.reader(dataFile, delimiter=',', quoting=csv.QUOTE_NONE)

for row in reader: 
    if not row[0] or not row[1]:
        continue
    print (row[0][0] + row[1]).lower()

或者

import csv
dataFile = open('names.csv','rb')
reader = csv.reader(dataFile, delimiter=',', quoting=csv.QUOTE_NONE)

[(row[0][0] + row[1]).lower() for row in reader if 
                                      row[0] and row[1]]

答案 1 :(得分:0)

从.csv获取文本后,您可以使用split()函数按新行分解文本。您的示例文本有点不一致,但如果我理解您正确提问,您可以说

import csv
dataFile = open('names.csv','rb')
reader = csv.reader(dataFile)
reader = reader.split('\n')
for x in reader
    print(reader[x])

或者如果你想用逗号分解它,只需替换' \ n'与','

答案 2 :(得分:0)

也许就像这样

from csv import DictReader

with open('names.csv') as f:
    dw = DictReader(f, skipinitialspace=True)

    fullnames = filter(lambda n: n['First_name'] and n['Last_name'], dw)
    for f in fullnames:
        print('{}{}'.format(f['First_name'][0], f['Last_name']))

你的csv中有标题,所以请使用DictReader,然后过滤掉那些带有空名或姓的名字,并显示其余的名字。