2

我终于把我的 dbf 文件变成了 csv,但现在我很困惑如何将它解析成文本文件以供进一步编辑。

我一直在阅读 csv 模块,但老实说,我的头开始旋转。对我来说,其中大部分似乎是希腊语。但是,如果可能的话,我想要使用模块的代码。

我的 car.csv 文件如下所示:

Name,Total,Freq
Toyota,2,2
Mazda,1,1
Kia,2,1
Volkswagon,3,1

我想将以下句子输出到文本文件(或 csv)中:

在这个街区内,街上停着一辆丰田、马自达、起亚和大众汽车。

如果结果是两个我不想要逗号:

汽车.dbf

Toyota,2,2
Mazda,2,1

在这个街区内,街上停着一辆丰田和马自达。

汽车.dbf

empty

这附近的街道上没有停放汽车。

我从之前的一篇文章中得到了一个关于构建 if-else 句子的好建议,但对如何解析列感到迷茫(由于某种原因,它们没有出现在 Excel 中,我以为我只有一列)

蟒蛇2.7

顺便提一句。任何人都知道一个很好的网站,它以新手可以理解的方式解释 csv 模块?谢谢。

4

3 回答 3

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
于 2013-02-23T00:55:39.590 回答
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']
于 2013-02-23T00:55:03.767 回答
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

于 2013-02-23T00:55:39.950 回答