学习内容:
csv文件的读取和写入
json操作
Tips:
我们即将操作的csv文件是从sqlsever中导入的其中一个列表(导入方式不再赘述)
或者我们创建一个TXT,写入内容,改成CSV结尾
重点:
读取方式有三种,直接读取,namedtuple读取,dict字典表读取
1)直接读取
import csv
def csv_read():
with open("文件名.csv",encoding="utf-8") as f:
reader=csv.reader(f)
headers=next(reader)
print(headers)
for row in reader:
print(row)
if __name__=="__main__"
csv_read()
csv文件本身是一个可迭代对象
按列输出csv的文本内容
2)namedtuple读取
import csv
import collections#from collections import namedtulpe
def csv_read_namedtuple():
with open("文件名.csv",encoding="utf-8") as f:
reader=csv.reader(f)
headers=next(reader)
row=namedtuple("row",headers)
for r in reader:
row=Row(*r)
print(row)
if __name__=="__main__"
csv_read_namedtuple()
3)字典表读取
import csv
def csv_read_dict():
with open("文件名.csv",encoding="utf-8") as f:
reader=csv.DictReader(f)
for row in reader:
print(row)
if __name__=="__main__"
csv_read_dict()
写入方法
1)直接写入
import csv
def write_csv():
headers = ["编号", "课程", "名字"] # 文件的关键属性
rows = [
(1, "python", "tom"),
(2, "c#", "jerry"),
(3, "java", "wxj"),
(4, "c++", "zzh"),
(5, ".NET", "ljy"),
]
with open("deeplearning_courses.csv", "w", encoding="utf-8", newline="") as f:
writer = csv.writer(f) # 创建写入器writer
writer.writerow(headers) # 写属性(一行)
writer.writerows(rows) # 写内容(多行)
if __name__ == '__main__':
write_csv()
结果如下
可以通过读取操作进行读取
2)字典表写入
def write_csv_dict():
headers = ["num", "name", "course"]
rows = (
{"num": 1, "name": "jerry", "course": "java"},
{"num": 1, "name": "tom", "course": "python"},
dict(num=3,name="summer",course="deeplearning")
)
with open("learning_courses.csv", "w", encoding="utf-8", newline="") as f:
writer = csv.DictWriter(f, headers) # 默认将自己定义的headers作为属性
writer.writeheader()
writer.writerows(rows)#writerows不是writerow缺少一个s,用法就变了
if __name__ == '__main__':
write_csv_dict()
json操作
1) 写操作
json也是python的一个模块,也需要导入
import json
def json_data():
data = {
"ID": 1,
"名字": "汤姆",
"course": "python"
}
print(data)
print(" _ " * 20)
json_1 = json.dumps(data)#dumps转换成字符串!
print(json_1)
json_2 = json.loads(json_1)
print(" _ " * 20)
print(json_2)
if __name__ == '__main__':
json_data()
dump操作非字符串,在下面写入文件会用
基本操作,结果如下
2) 写入json格式文件
def json_file():
data = {
"ID": 1,
"名字": "汤姆",
"course": "python"
}
with open("json_first_try.json","w",encoding="utf8") as f:
json.dump(data,f)#注意用法,这里是dump,参数也与之前有差异
if __name__ == '__main__':
json_file()
这样就写入了
结果如下,
生成的文件就可以放到网上当作一个接口了
3)读json文件
def json_read():
with open("json_first_try.json", "r", encoding="utf8") as f:
data = json.load(f)
print(data)
if __name__ == '__main__':
json_read()
结果如下