csv文件读取与写出
文章目录
- 一、pandas读取csv文件
- 二、pandas写出csv文件
- 三、利用csv模块读取csv文件
- 四、利用csv模块写出csv文件
一、pandas读取csv文件
1.导入pandas包
import pandas as pd
2.小数据量csv文件读取
pd.read_csv(file,encoding='utf-8',sep='\t')
# 可通过参数encoding修改编码方式,默认值为'gbk';sep修改分隔符,sep 默认值为',';
pd.read_csv() 返回结果为DataFrame
3.大数据量csv文件读取,利用参数chunksize
reader = pd.read_csv(file,chunksize=1000)
for df in reader: # 通过循环 获取每个分片的数据print(df.head()) # 根据需要自定义后续处理
参数chunksize 默认为None,不分片处理;如需对数据分片处理添加chunksize,参数值需为整型,结果为按指定的chunksize大小分片的TextFileReader,可通过循环获取每个分片的数据
4.无表头csv文件读取
pd.read_csv(file,header=None)
参数header 用于判定是否把数据中第一行作为列名读入,默认数据第一行只作为列名;当待读取文件无表头时,可设置参数header=None;想把其他行作为列名时,可设置参数header为行索引
注意:header=0表示行索引为0的数据,即数据的第一行,非csv文件第一行
5.列名设置
pd.read_csv(file,header=None,names=col) # col为自定义列名,需为不包含重复元素的list
当header=None时,可用参数names自定义列名,如未定义则列名默认为由列数生成的整数列表
6.跳过错误行
pd.read_csv(file,warn_bad_lines=True)
当csv文件存在部分行格式或其他错误导致文件无法正常读取时,设置warn_bad_lines,可跳过错误行保证csv文件的读入,并抛出错误行行索引
7.跳过csv文件部分行
# 跳过文件开头行或指定行,使用参数skiprows
pd.read_csv(file,skiprows=5) # skiprows 值根据需要设置,可传整型或元素为整型的list
# 跳过文件结尾行
pd.read_csv(file,skipfooter=5) # skipfooter 默认值为值,具体可根据需要设置,可传整型
8.当待读取的文件名中包含中文时,直接read可能报如下OSError
可配合使用with open as 和read_csv 读取文件,避免OSError
with open(file,encoding='utf-8') as f:df = pd.read_csv(f,sep='\t') # encoding、sep参数根据需要调整
二、pandas写出csv文件
1.csv文件写出
pd.to_csv(output_file, sep=',', encoding='gbk')
# 可通过参数encoding修改编码方式,默认值为'gbk';sep修改分隔符,sep 默认值为',';
2.写出 无列名 csv文件
pd.to_csv(output_file, header=None) # header控制写出的csv文件是否包含列名,默认True 包含列名
3.写出 无索引 csv文件
pd.to_csv(output_file, index=False) # index默认值为True,当设置False时,不写出索引
三、利用csv模块读取csv文件
1.导入csv包
import csv
2.csv文件读取
with open(file, encoding='utf-8') as csvfile:creader = csv.reader(csvfile, delimiter='\t') # 参数encoding、delimiter根据需要自定义
返回一个reader对象,可通过循环获取对象中的每一行
for row in creader:print(row) # reader对象的每一行为字符串列表
后续可通过如下方式将reader对象转换为DataFrame
datas = []
with open(file, encoding='utf-8') as csvfile:creader = csv.reader(csvfile, delimiter='\t')for row in creader:datas.append(row)
df = pd.DataFrame(datas[1:],columns=datas[0])
四、利用csv模块写出csv文件
1.csv文件写出
with open(output_file, 'w', encoding='utf-8', newline='') as csvfile:cwriter = csv.writer(csvfile, delimiter='\t')for row in datas:cwriter.writerow(row)# cwriter.writerow(['John', 'Lily']) # 自定义写出内容时,可直接将list传给cwriter.writerow()
注意:在定义csvfile时,一定要加newline=’’,否则写出的数据为隔行写出
csv文件读取与写出相关推荐
- IO学习(四)文件读取与写出
要读取一个文件,有以下几个步骤: 1.建立与文件的联系:File对象,文件必须存在 2.选择流:按字节流读取,文件输入流 InputStream FileInputStream 3.操作:byte[] ...
- 使用EasyExcel进行文件的读取与写出(根据目录看更清晰)
EasyExcel简介 Java领域解析.生成Excel比较有名的框架有Apache poi.jxl等.但他们都存在一个严重的问题就是非常的耗内存.如果你的系统并发量不大的话可能还行,但是一旦并发上来 ...
- fme:AIXM4.5和5.1读取、写出和验证
fme:AIXM4.5和5.1读取.写出和验证 介绍 AIXM是航空信息交换模型格式.FME支持读取和写入AIXM版本4.5(XML)和AIXM版本5.1(GML).AIXM5.1读写需要FME201 ...
- 超大Excel读取和写出(支持50万+)(一)
超大Excel读取和写出(支持50万+) 一.现状 假设我们的测试或生产环境的内存条件有限,比如说2GB(当然小数据的导入和导出不在本文的讨论范围,因为导入和导出它们几乎不存在内存溢出问题). 这里, ...
- Java CSV文件读取、写入及追加
Java CSV文件读取.写入及追加 https://blog.csdn.net/liq816/article/details/81286472 追加: FileOutputStream out = ...
- 熊猫read_csv()–将CSV文件读取到DataFrame
Pandas read_csv() method is used to read CSV file into DataFrame object. The CSV file is like a two- ...
- Python中利用numpy将数组(矩阵)存成csv文件,将csv文件读取为数组(矩阵)
Python中利用numpy将数组(矩阵)存成csv文件,将csv文件读取为数组(矩阵) 本博客转载自:https://blog.csdn.net/vernice/article/details/50 ...
- Flink 使用Table Api 读取文件数据并写出到文件中
前言 在上一篇我们演示了如何使用Flink 的Table Api 读取文件数据,并过滤特定字段的数据,本篇在上一篇的基础上,将从CSV文件中读取的数据重新输出到一个新的CSV文件中: 在实际业务场景下 ...
- python csv文件数据根据逗号分隔_Python 3读取以逗号分隔的CSV文件操作变量并写到CSV...
我是Python的新手,并希望阅读下面列出的内容的CSV文件: DN, whenCreated, name, pwdLastSet, location "CN=Jackson2,OU=Dom ...
最新文章
- Python find方法与rfind方法的使用
- Python程序设计题解【蓝桥杯官网题库】 DAY2-IDLE与基础练习
- 通用即插即用(UPnP)
- Qt之QStackedWidget
- Adwords 账户细分思路
- Angular里的RouterOutlet指令学习笔记
- [深度学习] 自然语言处理 --- Self-Attention(一) 基本介绍
- 永远太远,是时候离开了
- 【kafka】Kafka中的动态配置源码分析
- java验证码制作思路_Java实现验证码制作之一自己动手
- SSD Network Architecture--keras version
- 通用for_each清理容器模板函数
- Android:应用宝省流量更新
- Java打印的几种方法
- 播放.avi后缀视频报出0xc00d5212,编码格式不支持
- 移动硬盘中安装ubuntu系统——Vmware Workstation安装
- solidity msg.sender.transfer发送给谁
- python_绘制玫瑰图_南丁格尔图
- 小麦苗的微信公众号开通啦,欢迎大家扫码关注
- LDF转Excel;LDF转位定义;Excel转LDF;Excel转位定义;MatrixCreat(四)之工具使用
热门文章
- 基于人工智能的计算机课程教学系统设计,【智能教学系统的特点与设计方法】人工智能系统有哪些...
- AS02修改资产折旧码报错:在财务会计中会计年度2018已结束(Fiscal year 2018 is already closed in Financial Accounting (message
- 拆分系统拆分盘盛出不穷,互助系统的延续走出新的路子,农场果园直销系统返利系统开始火了!
- 欢乐潜水艇洋流计算表
- [附源码]JSP+ssm计算机毕业设计高校设备采购审批管理系统r1er5【源码、数据库、LW、部署】
- DirectX基本框架
- IoU系列(IoU, GIoU, DIoU, CIoU)
- 当前流行的前端及框架介绍(React和Vue)
- array.some()用法
- 安装Go语言Leaf框架