您当前的位置:首页 > 电脑办公 > excel
| PPT | 电脑打字 | 计算机基础 | word | excel | Linux教程 |

自学教程:csv逗号分隔符转换 python导入xlsx转为csv python提出csv中数据 如何将csv文件处理成rdf文件

51自学网 2021-11-25 13:55:39
  excel
这篇教程csv逗号分隔符转换 python导入xlsx转为csv python提出csv中数据 如何将csv文件处理成rdf文件写得很实用,希望能帮到您。

概述

通过pandas处理数据时,数据从何而来呢?基本都是从外部获取的,如纯文本文件、excel、数据库、网页等,所以从外部导入数据的重要性不言而喻。

这篇文章将介绍导入csv和excel文件为Pandas的DataFrame对象。

导入CSV文件

csv文件类型实际是文本文件,由于文本文件没有固定的格式或数据类型等,所以csv文件形式可以是千变万化,下面将介绍如何来导入杂乱无章的csv文件。

主要函数:

read_csv()

由于csv文件中数据、格式等导致杂乱无章,所以read_csv()函数的参数达50多个。

第一个参数filepath_or_buffer为文件名

第二个参数为sep为分隔符,有逗号(',')、制表符('t')等分隔符

最简单的形式

文件如下:

 

e6bca93f637e6733c83da6b5b2c1b21c.png

文本编辑器打开如下:

 

57d5d5e4e7cdd12d453c433328642911.png

由上图看到,以制表符't'分隔,函数参数使用sep= 't'

import 

 

1da59b942614c73124bb2b38fdf2b19d.png

设置列名

有时csv文件中没有列名,这时若直接读取会自动将第一行数据当做列名,如下所示:

 

be87dbd99af1fbaf13cf21e3402be56b.png
import 

 

330fecebefaed424baad1b662c69adf9.png

若csv文件中没有列名,可以通过参数自行设置:

names设置列名

header=None 设置默认的列名

默认列名(header=None)

import 

 

dc2a43dc6d4d05fedb2a2ed185e4e51f.png

自定义列名(names)

传入一个列表

import 

 

cf9dbe826ba220432fd31c85c99ee48b.png

设置行索引

可以将某列的值作为行索引,指定参数index_col即可

import 

 

2ae64a9d74b712a8908eb168cf8364e7.png

若需要将多个列做成一个层次化行索引,传入参数index_col一个列表即可

import 

 

96ec574ee201fe43058f784280169ebd.png

导入时跳过某行或多行

有时某行或多行的数据不是我们想要的,可以设置参数skiprows跳过

下面例子跳过第一行和第三行

import 

 

6de2a7f31bfb8d8708e9f628b521ea26.png

csv文件中缺失值及无效值处理

有时文件中难免会有各种情况,如空值等

下图中箭头处是空值

 

0a8f5c338a1eedf25daa586791d3338c.png
import 

 

d0c323c9d0125b9de2e88f96beb13e9a.png

缺失值时,读取后默认为NaN。

当然有些值是无效值,也可以通过参数na_values来将这个无效值处理成NaN

import 

 

c4244ab31079a723052b4003fed758d4.png

分块读取csv文件

对于大文件而言,有时候一次性导入要花费大量时间,也可能是我们只需要前面多少行的数据,同时显示的时候可能只需要显示多少行等,这时就需要分块的操作。

文件如下:

 

bf545e83e3aed755439ef4c6ac262a20.png
  • 只显示10行的数据

通过设置 :pd.options.display.max_rows = 10

import 

 

3d541513610666ff67fb38df9919e902.png

从上面结果看到,确实是只显示了10行数据,便于查看。

  • 读取前N行数据

通过设置参数 nrows即可

import 

 

75fd674656ab1a68bb3b926f140eb087.png
  • 分块读取

对于一个大文件可以分块读取,设置参数chunksize即可,若设置这个参数后将返回一个TextFileReader 对象迭代器,可以用这个对象逐块迭代

import 

 

384b055e6b7724fbe1863453dcb29111.png

从上图看到10条为一块,由于太长了就没有全部截图。

同时TextFileReader 对象有个get_chunk()方法可以读取任意大小的块。

import 

 

8906ddfb71a89f63d9bc3f42aeedce0c.png

read_csv()其他常用参数就不一一阐述,具体可查看下图

 

12c8d4497de564f28409c5875c150d79.png

 

9a28a46d9d2e83b19a1a55362480338b.png

数据写入CSV文件

写入与读取是逆过程,主要使用csv文件对象的函数to_csv()

参数

sep:设置分隔符

na_rep:设置缺失值在csv文件中的显示

columns:指定顺序排列

需要写入csv文件的数据如下所示:

import 

 

d1de1ce87a9f6450bcb422988e8cd607.png

写入数据到csv:

zarten_csv

 

8494e13623e8cad7a84f9fb092e77444.png

 

864e0918a65e385f98f1dee58f2e6441.png

Pandas操作Excel文件

excel也是比较常见的数据文件格式。

使用函数 read_excel()

跟read_csv()类似,若excel中没有列,会将第一行默认作为列,同样用参数names设置

 

557e89526b39a48aafef9b15c0204d36.png
import 

 

41e37aaf13a7cc72cff2e39639c6a6b1.png

我们知道,excel中有多个表单,通过sheet_name参数来设置表单名,若不知道默认为第一个表单。

import 

 

46c0b01b427c4248cc69af75e404d89b.png

数据写入excel文件

使用函数to_excel()

import 

要写的数据如下:

 

f89da9c5307c52c93c3259fba235e5e3.png
zarten_excel

 

c4ff009243d892ca7aa358c71057f085.png

 

2c8129934911d273f8c650a1fe915f50.png

其他用法跟csv用法类似,可参考前面所讲的。


python 对Excel 文档的基本操作
python代码实现pandas读取Excel数据转换numpy格式数据
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1