我是EE二年级的学生。我刚开始为我的项目学习 python。
我打算解析格式如下的 csv 文件
3520005,"Toronto (Ont.)",C ,F,2503281,2481494,F,F,0.9,1040597,979330,630.1763,3972.4,1
2466023,"Montréal (Que.)",V ,F,1620693,1583590,T,F,2.3,787060,743204,365.1303,4438.7,2
5915022,"Vancouver (B.C.)",CY ,F,578041,545671,F,F,5.9,273804,253212,114.7133,5039.0,8
3519038,"Richmond Hill (Ont.)",T ,F,162704,132030,F,F,23.2,53028,51000,100.8917,1612.7,28
进入如下文本文件
多伦多 2503281 蒙特利尔 1620693 温哥华 578041
我正在提取第 1 列和第 5 列并将其保存到文本文件中。
这就是我到目前为止所拥有的。
import csv
file = open('raw.csv')
reader = csv.reader(file)
f = open('NicelyDone.text','w')
for line in reader:
f.write("%s %s"%line[1],%line[5])
这对我不起作用,我能够从 csv 文件中提取数据作为 line[1],line[5]。(我可以打印出来)但我不知道如何以我想要的格式将其写入 .text 文件。
另外,我必须将第一列,例如“多伦多(安大略省)”处理成“多伦多”。我熟悉函数 find(),我假设我可以使用“(”作为停止字符将多伦多从 Toronto(Ont.) 中提取出来,但根据我的研究,我不知道如何使用它并询问它把字符串还给我(多伦多)。
这是我的问题:
- 数据格式是
line[1]
什么?- 如果是字符串怎么会
f.write()
不起作用? - 如果它不是字符串,我如何将其转换为字符串?
- 如果是字符串怎么会
- 我如何使用或其他方法将单词
Toronto
提取Toronto(Ont)
成字符串形式。find()
我的想法是我可以将这两个字符串加在一起,就像c = a+ ' ' + b
,这会给我我想要的格式。所以我可以f.write()
用来写入文件:)
对不起,如果我的问题听起来太简单或愚蠢。
提前谢谢
甄