创建并读取 csv

电子表格通常会导出为 CSV 文件,因为它们易于读写。csv 文件只包含值,逗号(或其他分隔符)和换行符。虽然该文件名为 comma seperated value 文件,但你可以使用另一个分隔符,例如制表符 \t 等。

用 Python 创建电子表格文件(CSV)

让我们用 Python 创建一个 CSV 格式的文件。我们将逗号字符用作分隔符或分隔符。

import csv
 
with open('persons.csv', 'wb') as csvfile:
    filewriter = csv.writer(csvfile, delimiter=',',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
    filewriter.writerow(['Name', 'Profession'])
    filewriter.writerow(['Derek', 'Software Developer'])
    filewriter.writerow(['Steve', 'Software Developer'])
    filewriter.writerow(['Paul', 'Manager'])

运行此代码将为我们提供以下内容:

Name,Profession
Derek,Software Developer
Steve,Software Developer
Paul,Manager

你可以在你喜欢的办公程序中导入 persons.csv 文件。

![用 Python 创建的电子表格文件](/img/Tutorial/Python Database/csv.png)

读取电子表格文件(csv)

如果你创建了一个 csv 文件,我们可以使用以下代码逐行读取文件:

import csv
 with open('persons.csv', 'rb') as f:
    reader = csv.reader(f)
 
    # read file row by row
    for row in reader:
        print row

这将只显示每一行作为列表:

['Name', 'Profession']
['Derek', 'Software Developer']
['Steve', 'Software Developer']
['Paul', 'Manager']

也许你想将它存储到 Python 列表中。我们从 csv 文件中获取数据,然后将其存储到 Python 列表中。我们使用 if 语句跳过标头,因为它不属于列表。完整代码:

import csv
 names = []
jobs = []
 with open('persons.csv', 'rb') as f:
    reader = csv.reader(f)
 
    # read file row by row
    rowNr = 0
    for row in reader:
        # Skip the header row.
        if rowNr >= 1:
            names.append(row[0])
            jobs.append(row[1])
 
        # Increase the row number
        rowNr = rowNr + 1
 print names
print jobs

结果:

['Derek', 'Steve', 'Paul']
['Software Developer', 'Software Developer', 'Manager']

大多数电子表格或办公程序都可以导出 csv 文件,因此我们建议你创建任何类型的 csv 文件并使用它来玩🙂。