This article brings you relevant knowledge about Python, which mainly introduces the relevant content of reading and writing CSV files, including importing CSV libraries and reading and writing CSV files. Let’s take a look at the content below. 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):Result: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)Copy after login
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=', ')Result:reader is a generator, reading one line at a time, 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)Copy after login
When reading a file, 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):Result:When writing, you can use writeheader() to write the header, and then use writerow (dictionary format data rows) 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)Copy after login
Syntax: csv.DicReader(f, delimiter=',')Result:Directly The title and each column of data are assembled into an ordered dictionary (OrderedDict) format. There is no need to read the title row separately.
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 the file in reading mode, and can read file information
w: Open the file in writing mode , 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 Let's talk about reading and writing CSV files in python. For more information, please follow other related articles on the PHP Chinese website!