This article mainly introduces the example code of usingPythonto operate Csv files. It is very practical. Friends in need can refer to it.
csv is the abbreviation of Comma-Separated Values. It istabledata 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 readerfunctionto receive an iterableobject(such as a csv file), can return agenerator, from which the content of the csv can be parsed: For example, the following code can read the entire content of the csv, inrows ofunits:
#!/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 querybased 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)
[{'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'}]
#!/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)
['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)
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!