使用Python从CSV中提取单列到文本文件
我终于把我的dbf文件转换成了csv格式,但现在我对如何把它解析成一个文本文件以便进一步编辑感到困惑。
我一直在研究csv模块,但说实话,看得我头都晕了。里面的内容对我来说简直像希腊文一样难懂。不过,如果可以的话,我希望能得到使用这个模块的代码。
我的car.csv文件长这样:
Name,Total,Freq
Toyota,2,2
Mazda,1,1
Kia,2,1
Volkswagon,3,1
我想把以下句子输出到一个文本文件(或者csv文件)中:
在这个社区里,街上停着一辆丰田、一辆马自达、一辆起亚和一辆大众。
如果结果只有两辆车,我不想要逗号:
Cars.dbf
Toyota,2,2
Mazda,2,1
在这个社区里,街上停着一辆丰田和一辆马自达。
Cars.dbf
empty
在这个社区里,街上没有车停着。
我在之前的帖子中得到了一个很好的建议,关于如何构建if-else语句,但我对如何解析列感到迷茫(它们在Excel中没有显示出来,我以为我只有一列)。
python 2.7
顺便问一下,有没有人知道哪个网站能用简单易懂的方式解释csv模块?谢谢。
3 个回答
0
使用 csv
模块:
>>> with open('cars.csv') as f:
... reader = csv.reader(f)
... cars_list = [row[0] for row in reader]
...
>>> cars_list
['Name', 'Toyota', 'Mazda', 'Kia', 'Volkswagon']
0
如果我理解得没错的话,你已经有了csv文件。那么,你只需要把这个文件读入你正在使用的处理函数中就可以了。下面是一个例子:
def process_csv():
with open('/path/to/file/car.csv') as f:
for line in f:
values_list = line.split(',') #gives you a list
#process your the rest here.
基本上,这段代码会加载你的文件,并从每一行创建一个列表。所以对于你的 Toyota,2,2
,你最终会得到:
> print('Name = " + values_list[0])
Name = Toyota
3
Python的官方文档示例总是一个很好的参考地方。
你可能想要的东西是这样的:
import csv
makes = []
with open('cars.csv', 'rb') as f:
reader = csv.reader(f)
next(reader) # Ignore first row
for row in reader:
makes.append(row[0])
print makes