This article brings you relevant knowledge about Python, which mainly organizes the related issues of reading and writing CSV files. CSV (Comma-Separated Values) is comma-separated values. A text file that is stored in lines separated by commas. All values are expressed as string types. Let’s take a look at it. I hope it will be helpful to everyone.
[Related recommendations: Python3 video tutorial]
CSV (Comma-Separated Values) is a comma-separated value, a A comma-separated text file stored in rows. All values are represented as string types (note: numbers are of string type).
If there is Chinese in the CSV, it should be read and written in utf-8 encoding.
There is a built-in library for csv files in Python that can be used. When we want to read and write csv files, we can directly import them. |
import csv
Syntax: csv.writer(f):
Writer supports writerow (list) single-line writing, and writerows (nested list) batch writing of multiple lines, without manual saving.
import csv header = ['name','age','QQ_num','wechat']data = [['suliang','21','787991021','lxzy787991021']]with open ('information.csv','w',encoding='utf-8',newline='') as fp: # 写 writer =csv.writer(fp) # 设置第一行标题头 writer.writerow(header) # 将数据写入 writer.writerows(data)
Result:
Note that when opening the file, the format should be specified as w, and the text should be written.
When opening the file, specify not to add automatically New line newline='', otherwise there may be one more blank line for each line written.
Syntax: csv.reader(f, delimiter=',')
reader As a generator, one line is read at a time, and each line of data is in list format. The delimiter can be specified through the delimiter parameter.
import csvwith open('information.csv',encoding='utf-8')as fp: reader = csv.reader(fp) # 获取标题 header = next(reader) print(header) # 遍历数据 for i in reader: print(i)
Result:
Reading The file path must be written correctly. If you are not sure, you can write the absolute path. To obtain the content of csv, you need to traverse and then output.
Syntax: csv.DicWriter(f):
You can use writeheader when writing ()Write the title, and then use writerow (dictionary format data row) or writerows (multiple rows of data)
import csv header = ['name','age']data = [{'name':'suliang','age':'21'}, {'name':'xiaoming','age':'22'}, {'name':'xiaohu','age':'25'}]with open ('information.csv','w',encoding='utf-8',newline='') as fp: # 写 writer =csv.DictWriter(fp,header) # 写入标题 writer.writeheader() # 将数据写入 writer.writerows(data)
Result:
Syntax: csv.DicReader(f, delimiter=',')Result:Directly assemble the title and each column of data into an ordered dictionary (OrderedDict) format, no need to separate them separately Read the title row
import csvwith open('information.csv',encoding='utf-8')as fp: reader = csv.DictReader(fp) for i in reader print(i)Copy after login
r: Open in read mode File, can read file information
#w: Open the file in writing mode, and can write information to the file. If the file exists, clear it and then write
a: Open the file in append mode. When opening the file, the pointer can be moved to the end. If the file does not exist, create it
r: Open the file in reading and writing mode, you can read and write the file
w: Erase the file content, open the file in reading and writing mode
a: Open the file in read-write mode, the file pointer moves to the end
b: Open the file in binary mode【 Related recommendations:
Python3 video tutorial】
The above is the detailed content of Learn how to read and write CSV files in python in one article. For more information, please follow other related articles on the PHP Chinese website!