返回顶部
首页 > 资讯 > 后端开发 > Python >python 编写输出到csv的操作
  • 848
分享到

python 编写输出到csv的操作

2024-04-02 19:04:59 848人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

如下所示: def test_write(self): fields=[] fields.append(orderCode) with open(r'./test001.

如下所示:


 def test_write(self):
 fields=[]
 fields.append(orderCode)
 with open(r'./test001.csv', 'a',newline="") as f:
  writer = csv.writer(f)
  writer.writerow(fields)

定义一个列表:然后将需要写的数据添加到列表

a #追加数据到下一行

newline='' //去除每一行中间的空行,若不加的话,行与行中间有空格

加newline

不加:

补充:利用python将json数据转换为csv格式

假设.JSON文件中存储的数据为:


{"type": "Point", "link": "Http://www.dianping.com/newhotel/22416995", "coordinates": [116.37256372996957, 40.39798447055443], "cateGory": "经济型", "name": "北京荷塘山庄", "count": "278", "address": "北京市怀柔区黄花城村安四路", "price": "380"}
{"type": "Point", "link": "http://www.dianping.com/newhotel/19717653", "coordinates": [116.56881588256466, 40.43310967948417], "category": "经济型", "name": "慕田峪长城鱼师傅乡村酒店", "count": "89", "address": "北京市怀柔区渤海镇苇店村(慕田峪长城下3公里处,近怀黄路)", "price": "258"}
{"type": "Point", "link": "http://www.dianping.com/newhotel/58365289", "coordinates": [116.62874974822378, 40.45610264855833], "category": "经济型", "name": "北京蜜桃儿亲子网", "count": "119", "address": "北京市怀柔区神堂峪风景区下官地11号", "price": "549"}

现在需要将上面的这些数据存为csv格式,其中字典的keys为csv中的属性名称,字典的values为csv中属性对应的值。

如果只需要按照json的keys来生成csv,那么操作比较简单,直接按照下面的方法即可:


#-*-coding:utf-8-*-
import csv
import json
import sys
import codecs
def trans(path):
  jsonData = codecs.open(path+'.json', 'r', 'utf-8')
  # csvfile = open(path+'.csv', 'w') # 此处这样写会导致写出来的文件会有空行
  # csvfile = open(path+'.csv', 'wb') # python2下
  csvfile = open(path+'.csv', 'w', newline='') # python3下
  writer = csv.writer(csvfile, delimiter='\t', quoting=csv.QUOTE_ALL)
  flag = True
  for line in jsonData:
    dic = json.loads(line[0:-1])
    if flag:
      # 获取属性列表
      keys = list(dic.keys())
      print (keys)
      writer.writerow(keys) # 将属性列表写入csv中
      flag = False
    # 读取json数据的每一行,将values数据一次一行的写入csv中
    writer.writerow(list(dic.values()))
  jsonData.close()
  csvfile.close()
if __name__ == '__main__':
  path=str(sys.argv[1]) # 获取path参数
  print (path)
  trans(path)

Python3下运行,命令行输入


python C:\Users\MaMQ\Documents\jsonToCsv.py C:\Users\MaMQ\Documents\data\geoFood

其中第三个参数为需要转换的文件的路径和其名称,将其后缀删除。运行文件后即可得到转换后的csv文件。

如果需要对json文件中每个字典的key字段进行修改,比如需要将上面dict中的coordinate中的经纬度数据取出来存为x、y数据,则可以按照下面的方法(此方法还可以调整每个属性显示的顺序,效果更好一点):


import csv
import json
import sys
import codecs
def trans(path):
  jsonData = codecs.open(path+'.json', 'r', 'utf-8')
  # csvfile = open(path+'.csv', 'w') # 此处这样写会导致写出来的文件会有空行
  # csvfile = open(path+'.csv', 'wb') # python2下
  csvfile = open(path+'.csv', 'w', newline='') # python3下
  writer = csv.writer(csvfile, delimiter='\t', quoting=csv.QUOTE_ALL)
  keys=['id', 'name', 'category', 'price', 'count', 'type', 'address', 'link', 'x', 'y']
  writer.writerow(keys)
  i = 1
  for dic in jsonData:
    dic = json.loads(dic[0:-1])
    x = dic['coordinates'][0]
    y = dic['coordinates'][1]
    writer.writerow([str(i),dic['name'],dic['category'],dic['price'],dic['count'],dic['type'],dic['address'],dic['link'],x,y])
    i += 1
  jsonData.close()
  csvfile.close()
if __name__ == '__main__':
  path = str(sys.argv[1])
  print (path)
  trans(path)

运行方法同上。

json文件是我在大众点评抓取的数据,存储格式为utf-8。建议使用codecs包来读取json数据,可指定编码方式。


jsonData = codecs.open(path + '.json', 'r', encoding='utf-8')

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

本文标题: python 编写输出到csv的操作

本文链接: https://lsjlt.com/news/122040.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python 编写输出到csv的操作
    如下所示: def test_write(self): fields=[] fields.append(orderCode) with open(r'./test001....
    99+
    2024-04-02
  • python如何编写输出到csv
    小编给大家分享一下python如何编写输出到csv,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如下所示: def test_write(se...
    99+
    2023-06-14
  • python 如何把classification_report输出到csv文件
    今天想把classification_report的统计结果输出到文件中,我这里分享一下一个简洁的方式: 我的pandas版本: pandas 1.0.3 代码: from sklearn.metrics imp...
    99+
    2022-06-02
    python classification_report 输出csv文件
  • Python读写csv文件的操作方法
    这篇文章主要介绍了Python读写csv文件的操作方法,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。要在 Python 中写入 CSV,请使用 Python 的 csv 模块。例如,让我们将一个字符串列表写入一个新的 C...
    99+
    2023-07-06
  • 解决python 输出到csv 出现多空行的情况
    这个问题的解决方案网上挺多的。 其中我推荐的就是: with open(r"F:\Desktop\Book3.csv",'w',encoding = 'GB18030',newl...
    99+
    2024-04-02
  • 如何解决python输出到csv出现多空行的问题
    这篇文章主要介绍如何解决python输出到csv出现多空行的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!其中我推荐的就是:with open(r"F:\Desktop\Book3.csv&q...
    99+
    2023-06-14
  • Python中CSV文件的读写库操作方法
    目录文件的基本读写用字典模式处理数据非标准格式的处理dialectSnifferCSV 格式的全称是 Comma Separated Values,意思是逗号分割的数据,是最常见的电...
    99+
    2022-12-08
    CSV文件读写库 CSV文件读写 CSV文件
  • Python怎么读取和写入操作CSV文件
    这篇文章主要介绍“Python怎么读取和写入操作CSV文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么读取和写入操作CSV文件”文章能帮助大家解决问题。什么是 CSV 文件?CSV...
    99+
    2023-06-29
  • PHP中的输入输出操作
    随着网络技术的快速发展,PHP在开发动态网页、Web应用程序、内容管理系统和电子商务平台等方面已成为最流行、最广泛使用的脚本语言之一。在进行这些开发过程中,输入输出操作是天经地义的操作之一。本文将探讨PHP中的输入输出操作,从而帮助读者更好...
    99+
    2023-05-25
    输入输出操作关键词:PHP 输入 输出
  • Python 反转输出正整数的操作
    题目: 获得输入正整数 N,反转输出该正整数,不考虑异常情况。 ‪‬‪‬‪‬‪‬...
    99+
    2024-04-02
  • java 对象输入输出流读写文件的操作实例
    java 对象输入输出流读写文件的操作实例java 支持对对象的读写操作,所操作的对象必须实现Serializable接口。 实例代码:package vo; import java.io.Serializable; public cl...
    99+
    2023-05-31
    java
  • 详解Python读取和写入操作CSV文件的方法
    目录什么是 CSV 文件?内置 CSV 库解析 CSV 文件读取 CSV 文件csv将 CSV 文件读入字典csv可选的 Python CSV reader参数使用 csv 写入文件...
    99+
    2024-04-02
  • Pandas对CSV文件读写操作的方法
    这篇“Pandas对CSV文件读写操作的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Pandas对CSV文件读写操作的...
    99+
    2023-06-30
  • pytorch lstm gru rnn 得到每个state输出的操作
    默认只返回最后一个state,所以一次输入一个step的input # coding=UTF-8 import torch import torch.autograd as au...
    99+
    2024-04-02
  • 用Python编写B+树的插入操作
    B+树插入操作需要考虑节点和平衡,如果是空树,按递增顺序将key插入叶子节点;如果不是空树,需要区分索引节点和叶子节点,不满足条件时还要对节点进行分解。 Python实现B+树插入操作import math # 创建节点 cla...
    99+
    2024-01-23
    B树的概念
  • Android中文件读写(输入流和输出流)操作小结
    1. Android中文件读写的原理: (1).所有文件的储存都是字节的储存。 (2).在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。 (3...
    99+
    2022-06-06
    小结 输出 输入 Android
  • python基本文件操作(文件输入和输出
    文件输入输出中常用的文件对象方法:open : 返回一个新的文件对象,调用该对象的上的方法可对文件进行任何操作readline: 读取一行数据包括结尾的换行符在内write: 将数据写入文件中close: 关闭文件对象; 举例:读取E盘中的...
    99+
    2023-01-31
    文件 操作 python
  • python输出语句的写法
    这篇文章给大家分享的是有关python输出语句的写法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python输出语句的写法:在python中要输出内容时,可以使用输出语句print,代码为【print (val...
    99+
    2023-06-14
  • Python数据处理pandas读写操作IO工具CSV解析
    目录前言CSV 和文本文件1 参数解析1.1 基础1.2 列、索引、名称1.3 常规解析配置1.4 NA 和缺失数据处理1.5 日期时间处理1.6 迭代1.7 引用、压缩和文件格式1...
    99+
    2024-04-02
  • Python + logging输出到屏幕,将log日志写入到文件
    logging提供了一组便利的函数,用来做简单的日志。它们是 debug()、 info()、 warning()、 error() 和 critical()。 logging函数根据它们用来跟踪的事件的级别或严重程度来命名。标准级别及其适...
    99+
    2023-10-06
    python 软件测试 程序员 接口测试 自动化测试 测试工程师
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作