程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

python面试题(7)

python杂谈(0)

标签  

python面试题(7)

python电子书(56)

日期归档  

Python中Json串与csv的读写

发布于2019-08-22 17:33     阅读(1186)     评论(0)     点赞(1)     收藏(4)


1、Json串读写操作 

  1. import json
  2. persons =[
  3. {
  4. 'username':"张三",
  5. 'age':10,
  6. 'country':'china'
  7. },
  8. {
  9. 'username': "hh",
  10. 'age': 20,
  11. 'country': 'china'
  12. }
  13. ]
  14. print(type(persons))
  15. #python 对象转化为json字符串
  16. #只用int float str list dict tuple能转化为json字符串
  17. #dumps python 对象转化为json字符串,转化过程不启用ascii码,否则不显示中文
  18. json_str = json.dumps(persons,ensure_ascii=False)
  19. print(json_str)
  20. print(type(json_str))
  21. #文件的打开方式采用utf-8的格式打开
  22. with open("a.json",'w',encoding='utf-8') as fp:
  23. fp.write(json_str)
  24. #================================================
  25. #json字符串转化为list对象
  26. #load()将json字符串转化为list对象
  27. #person_py =[{"username": "张三", "age": 10, "country": "china"}, {"username": "hh", "age": 20, "country": "china"}]
  28. person_py =json.loads(json_str)
  29. print(type(person_py))
  30. for item in person_py:
  31. print(item)

2、csv读写操作

  1. #encoding: utf-8
  2. import csv
  3. #将元组类型写入csv
  4. def write_csv_demo1():
  5. headers = {'username','age','height'}
  6. #值为元组类型
  7. values ={
  8. ('张三',18,180),
  9. ('李四',19,190),
  10. ('王武',20,160)
  11. }
  12. #newline默认为\n,插入时,自动换行,
  13. with open('classroom.csv','w',encoding="utf-8",newline='')as fp:
  14. writer = csv.writer(fp)
  15. #插入一行
  16. writer.writerow(headers)
  17. writer.writerows(values)
  18. #将字典类型写入csv
  19. def write_csv_demo2():
  20. headers = {'username','age','height'}
  21. values = [
  22. {'username':'张三','age':18,'height':180},
  23. {'username': '李四', 'age': 19, 'height': 180},
  24. {'username': '王五', 'age': 20, 'height': 190}
  25. ]
  26. with open('classroo1.csv','w',encoding='utf-8',newline="") as fp:
  27. writer = csv.DictWriter(fp,headers)
  28. #传入的标头不会写入,写入表头数据的时候,需要调用writeheader方法
  29. writer.writeheader()
  30. writer.writerows(values)
  31. # if __name__ == '__main__':
  32. # write_csv_demo2()
  33. ####################################################
  34. #csv文件的读取
  35. def read_csv_demo1():
  36. with open("classroo1.csv",'r',encoding='utf-8') as fp:
  37. #reader是一个迭代器
  38. reader = csv.reader(fp)
  39. #跳过表头
  40. # next(reader)
  41. for x in reader:
  42. #print(x)
  43. name = x[0]
  44. age = x[1]
  45. print('name:'+name,"age:"+age)
  46. def read_csv_demo2():
  47. # 使用DictReader创建的reader对象
  48. # 不包含标题那行
  49. # reader是一个迭代器,遍历这个迭代器,返回来的是一个字典
  50. with open("classroo1.csv",'r',encoding='utf-8') as fp:
  51. reader = csv.DictReader(fp)
  52. for x in reader:
  53. value = {"name": x["username"],'age' : x["age"]}
  54. print(value)
  55. #print(x)

 



所属网站分类: 技术文章 > 博客

作者:熊猫烧香

链接:https://www.pythonheidong.com/blog/article/53164/b0eb488fbbbfc55df7ed/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)