今天,我们将学习csv文件的基本操作。
什么是csv文件?
CSV是Comma-Separated Value的缩写,意思是逗号分隔值,其文件以文本形式存储表格数据。
1.创建示例csv文件
首先,在目录下创建一个名为test.csv的文件,用记事本打开,输入:
A,B,C,D
1,2,3,4
5,6,7,8
这里说明一下,第一行充当CSV文件的标题,第二,三行充当每个列表项,如果用Excel表格打开,会看到:
2.运用csv模块进行操作
在相同目录下,再新建一个Python文件,输入代码:
import csv
with open("test.csv") as f:
reader = csv.reader(f)
在代码中,我们用with-open语句打开了test.csv文件,并用了csv模块中的reader函数,传入文件对象。根据文件,这个函数会创建一个解析对象,我们将这个对象赋予给reader变量。
2.1 读取csv数据
import csv
with open("test.csv") as f:
reader = csv.reader(f)
for r in reader:
print(r)
这个解析对象可以用for循环来遍历它,打印出的则是每行的数据,这些数据被转换为了Python列表格式,输出:
[‘A’, ‘B’, ‘C’, ‘D’]
[‘1’, ‘2’, ‘3’, ‘4’]
[‘5’, ‘6’, ‘7’, ‘8’]
你可以利用其它的数据做下一步分析。
2.2 写入csv数据
2.2.1 单行存储
import csv
with open("test2.csv", "w", newline="") as f:
writer = csv.writer(f)
test_list = ['1', '2', '3']
writer.writerow(test_list)
(这里说明一下,打开文件的open函数中的参数newline,是用来控制文本模式之下,一行的结束字符。可以是None,"",\n,\r,\r\n等,如果还有不理解的地方,可以自行查询相关资料)
上述代码中,我们使用了w写入模式,创建了一个writer写入对象,然后我们定义了一个列表,并调用writerow函数,将列表存储到csv文件里。
2.2.2 多行存储
如果你想存储多行数据,要把列表修改亿下,如:
test_list = [
['1', '2', '3'],
['4', '5', '6'],
]
for l in test_list:
writer.writerow(l)
我们使用for循环,将每个test_list列表项作为一个csv文件的行,一个一个存储。
好了,今天的课程就到这,喜欢的可以点赞收藏一下,拜拜!