Home  >  Article  >  Backend Development  >  Example code sharing of how Python operates on Csv files (picture)

Example code sharing of how Python operates on Csv files (picture)

黄舟
黄舟Original
2017-05-14 12:01:171294browse

This article mainly introduces the example code of using Python to operate Csv files. It is very practical. Friends in need can refer to it.

csv is the abbreviation of Comma-Separated Values. It is table data stored in the form of a text file. For example, the following table:

can be stored as a csv file. The file content is:

No.,Name,Age,Score
1,mayi,18,99
2,jack,21,89
3,tom,25,95
4,rain,19,80

Assume that the above csv file is saved as "test.csv"

1. Read the file

How to use Python to extract one of the columns like operating Excel, that is A field can be implemented using the csv module that comes with Python:

The first method uses the reader function to receive an iterable object (such as a csv file), can return a generator, from which the content of the csv can be parsed: For example, the following code can read the entire content of the csv, in rows of units:

#!/usr/bin/python3
# -*- conding:utf-8 -*-
author = 'mayi'

import csv

#读
with open("test.csv", "r", encoding = "utf-8") as f:
  reader = csv.reader(f)
  rows = [row for row in reader]

print(rows)

Get:

[['No.', 'Name', 'Age', 'Score'],
 ['1', 'mayi', '18', '99'],
 ['2', 'jack', '21', '89'],
 ['3', 'tom', '25', '95'],
 ['4', 'rain', '19', '80']]

To extract one of the columns, you can use the following code:

#!/usr/bin/python3
# -*- conding:utf-8 -*-
author = 'mayi'

import csv

#读取第二列的内容
with open("test.csv", "r", encoding = "utf-8") as f:
  reader = csv.reader(f)
  column = [row[1] for row in reader]

print(column)

Get:

['Name', 'mayi', 'jack', 'tom', 'rain']

Pay attention to the values ​​read from csv All are of str type. This method requires knowing the sequence number of the column in advance, for example, Name is in column 2, and you cannot query based on the title 'Name'. At this time, you can use the second method:

The second method is to use DictReader, which is similar to the reader function. It receives an iterable object and can return a generator, but each returned cell is placed Within the value of a dictionary, and the key of this dictionary is the title (i.e. column header) of this cell. You can see the structure of DictReader with the following code:

# -*- conding:utf-8 -*-
author = 'mayi'

import csv

#读
with open("test.csv", "r", encoding = "utf-8") as f:
  reader = csv.DictReader(f)
  column = [row for row in reader]

print(column)

Get:

[{'No.': '1', 'Age': '18', 'Score': '99', 'Name': 'mayi'},
 {'No.': '2', 'Age': '21', 'Score': '89', 'Name': 'jack'},
 {'No.': '3', 'Age': '25', 'Score': '95', 'Name': 'tom'},
 {'No.': '4', 'Age': '19', 'Score': '80', 'Name': 'rain'}]

If we want to use DictReader to read a certain column of csv, we can use the column title query:

#!/usr/bin/python3
# -*- conding:utf-8 -*-
author = 'mayi'

import csv

#读取Name列的内容
with open("test.csv", "r", encoding = "utf-8") as f:
  reader = csv.DictReader(f)
  column = [row['Name'] for row in reader]
print(column)

Get:

['mayi', 'jack', 'tom', 'rain']

2. Write file

When reading the file, we read the csv file into the list, and when writing the file, we will Elements are written to a csv file.

#!/usr/bin/python3
# -*- conding:utf-8 -*-
author = 'mayi'

import csv

#写:追加
row = ['5', 'hanmeimei', '23', '81']
out = open("test.csv", "a", newline = "")
csv_writer = csv.writer(out, dialect = "excel")
csv_writer.writerow(row)

Get:

The above is the detailed content of Example code sharing of how Python operates on Csv files (picture). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn