python数据处理

本文介绍了Python中处理CSV和Excel数据的方法。对于CSV,强调了使用csv模块的Reader和Writer来避免split()方法的潜在问题。在写入CSV时,提到了Windows下newline参数的设置。对于Excel,提到了常用第三方库如xlrd、xlwt、xlutils、pyExcelerator和openpyxl,并指出了它们各自的功能和限制。
摘要由CSDN通过智能技术生成

csv数据处理

csv表示”Comma-Separated Values(逗号分隔的值)”,csv文件时简化的电子表格,保存为纯文本文件。
python中解析csv文件可以使用csv模块。

  • 注意:csv是文本文件,通过打开文件的操作,将其内容读入一个字符串,然后通过字符串的split()方法处理每行文本取得值。需要注意csv文件中也有自己的转义字符,允许逗号或者其他字符作为值的一部分,split()方法无法处理这部分转义字符。所以处理csv文件时为避免这些潜在的问题,建议使用csv模块处理csv文件。

Reader

使用csv模块从csv文件中读取数据,需要创建一个Reader对象,可以通过Reader对象迭代遍历csv文件中的每一行。

import csv

with open("example.csv", encoding='utf-8') as dataObject:
    dataReader = csv.reader(dataObject)
    for row in dataReader:
        print("第{0}行:{1}".format(dataReader.line_num, row))
Reader对象的line_num变量是当前的行号。
输出结果


第1行:['2018/06/09', 'Apples', '73']
第2行:['2018/06/10', 'Cherries', '85']
第3行:['2018/06/11', 'Pears', '14']

Writer

Write对象可以将数据写入到csv文件中。
首先调用open()并传入w,以写模式打开一个文件。这时会创建一个对象。
然后将创建的对象传递给csv.writer(),创建一个Writer对象。
接下来调用Writer对象的writerow()方法写入文件。该方法接受参数为列表,返回值为写入文件这一行中的字符数(包括换行符)。


import csv

with open("test.csv", 'w', encoding='utf-8', newline='') as outputFile:
    dataWriter = csv.writer(outputFile)
    dataWriter.writerow(['a', 'b', 'c'])
    dataWriter.writerow(['啊', '吧', '次'])
    dataWriter.writerow(['A', 'Hello,World!', 'C'])
最后输出结果

a,b,c
啊,吧,次
A,"Hello,World!",C

此处的Hello,Wrold!中的逗号自动转义,使用双引号处理了。
在windows中open()需加上newline=”参数,否则将出现2倍行距的情况。
写入的文件必须已经存在。

delimiter 指定分隔符,默认为逗号
lineterminator 行距,默认为单倍行距

dataWriter = csv.writer(outputFile, delimiter='\t', lineterminator='\n\n')

上面表示使用制表符作为分隔符,两倍行距(也就是行之间字符变为2个换行符)。

excel数据处理

excel的操作都是通过第三方库来进行。常用的有xlrd、xlwt、xluntils、pyExcelerator、openpyxl。

  • xlrd只能进行读取excel文件,没法进行写入文件。
  • xlwt可以写入文件,但是不能在已有的excel的文件上进行修改。
    vxluntils可以对文件进行复制和修改,该模块功能实现依赖于xlrd和xlwt。
  • pyExcelerator模块与xlwt类似,也可以用来生成excel文件,同时支持单元格合并、冻结等操作。
    vopenpyxl也支持文件的读取、写入、创建和删除工作表、设置字体格式、单元格合并、冻结等操作。
更新内容:1.增加了设置命令流字体背景和边框颜色的功能;2.增加了可保存整个命令流为文本的功能;3.调整了部分右键菜单的位置和快捷键;4.修正了个别情况下打开命令流显示错误的问题;5.修正了一些情况下垂直滚动条出错的问题;6.修正自动滚屏低部留有空白的问题;7.修正不能实时读取命令流的问题。 操作提示: 1、该程序无须放在ABAQUS的工作目录下,可随意放置。另外程序可以随时打开,无须考虑与ABAQUS CAE的打开次序; 1、程序第一次运行时需要指定abaqus.rpy的位置,以后运行会自动加载上一次设置; 2、在窗口中拖动右键可以移动窗口位置; 3、把鼠标移动到窗口边缘可以拖动改变窗口大小。 该程序主要是给使用ABAQUS的朋友们学习Python用的,可以作为ABAQUS PDE的辅助工具, 对于ABAQUS和Python的关系我就不多说了,在ABAQUS CAE中的每一个菜单或按钮操作都是被解释为Python语句,然后才提交上去。 而这些Python语句被适时地保存在工作目录下的abaqus.rpy文件中,这就给我们提供了一个绝好的Python学习途径:进行CAE的操作,然后查看abaqus.rpy文件中的对应的Python语句// 该程序会适时的读取abaqus.rpy文件,以便你把相应的CAE操作对照起来// 如果对该程序有什么好的建议或意见,或需要添加什么样的功能, 或者发现什么bug,可以直接给我联系, Email:ck436#126.com(把#改为@). ========================================================== 如果你根本就不能运行本程序,那很有可能你还没有安装.NET Framework 2.0以上的平台. .NET Framework是在Microsoft .NET平台上进行程序开发和程序运行的基础. 给出解决方法: 你可以通过以下几个网址下载: http://www.onlinedown.net/soft/38669.htm http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=zh-cn#QuickInfoContainer 如果安装.NET Framework时提示installer错误,则你需要先安装Windows Installer(一般不会遇到): http://www.onlinedown.net/soft/12668.htm http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=889482fc-5f56-4a38-b838-de776fd4138c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值