Python CSV读取文件并选择列并写入新的CSV文件

Lit*_*DI2 5 python csv

我有一个CSV文件,其中包含我需要提取的某些列.其中一列是一个文本字符串,我需要从中提取第一个和最后一个项目.我在for循环中有一个print语句,它正是我所需要的,但却无法弄清楚如何将这些数据放入列表或dict中.不确定哪个是最好用的.

代码到目前为止:

f1 = open ("report.csv","r") # open input file for reading 
users_dict = {}
with open('out.csv', 'wb') as f: # output csv file

writer = csv.writer(f)
with open('report.csv','r') as csvfile: # input csv file
    reader = csv.DictReader(csvfile, delimiter=',')
    for row in reader:
        print row['User Name'],row['Address'].split(',')[0],row['Last Login DateTime'],row['Address'].split(',')[7]
        users_dict.update(row)
        #users_list.append(row['Address'].split(','))
        #users_list.append(row['Last Login DateTime'])
        #users_list.append(row[5].split(',')[7])

print users_dict

f1.close() 
Run Code Online (Sandbox Code Playgroud)

从文件输入:

User Name,Display Name,Login Name,Role,Last Login DateTime,Address,Application,AAA,Exchange,Comment
SUPPORT,SUPPORT,SUPPORT,124,2015-05-29 14:32:26,"Test Company,Bond St,London,London,1111 111,GB,test@test.com,IS",,,LSE,
Run Code Online (Sandbox Code Playgroud)

打印输出:

SUPPORT Test Company 2015-05-29 14:32:26 IS
Run Code Online (Sandbox Code Playgroud)

Lit*_*DI2 0

经过一些测试,我终于得到了写入 csv 文件的行:

for row in reader:
    writer.writerow([row['User Name'],row['Address'].split(',')[0],row['Last Login DateTime'],row['Address'].split(',')[7]])
Run Code Online (Sandbox Code Playgroud)