我有一个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
答案 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
,然后过滤掉那些带有空名或姓的名字,并显示其余的名字。