龙空技术网

Python笔记(1) 引用pandas读写csv文件

笔记君 193

前言:

此时同学们对“pythoncsv读取文件”大体比较看重,兄弟们都想要了解一些“pythoncsv读取文件”的相关文章。那么小编同时在网上汇集了一些关于“pythoncsv读取文件””的相关知识,希望各位老铁们能喜欢,你们一起来了解一下吧!

用Python让工作更轻松,生活更美好!

需求:读取一个csv文件,根据文件内容进行数据处理,将处理结果写入另一个csv文件。

实现:用Python导入pandas库,将csv文件读入一个DataFrame,然后将这DataFrame的内容写入另一个csv文件。

1. 导入pandas库。

import pandas as pd

2. 定义若干变量并赋初值用于后续数据处理。本示例中定义numReportCube用来统计某一种类型的数据的数量,初值为0。

numReportCube=0

3. 将csv文件的内容读入一个DataFrame。本示例中将这个DataFrame赋值给cube

cube=pd.read_csv(input('Cube Path: '))numCube=cube.shape[0] # Get the rows of cubes

4. 因为数据处理的需求,需要知道cube里的内容一共有多少行(不包括表头),用cube.shape[0]即可得到cube的行数,类似地,用cube.shape[1]即可得到cube的列数。

5. 用range(numCube)得到一个取值范围用于for循环。

通过cube.iloc[index,3]取得第index行,第3列的单元格数据。

如果数值符合要求,则numReportCube计数器加1;

否则,打印警告信息:在第index行发现未识别的cube type信息。

for index in range(numCube):    cubeType=cube.iloc[index,3]     if cubeType==776:        numReportCube=numReportCube+1     else:        print('Unrecognized cube type in line '+str(index))

6. 将结果存入另一个DataFrame,即本示例中的resultItem。

结果为1行2列数据:第1列为cube数据的总行数numCube,第2列为某一种特定类型的数据的行数numReportCube。

resultItem=pd.DataFrame([[numCube,numReportCube]])

本示例中使用了DataFrame的一种定义方式:以列表形式定义DataFrame。举例说明:

某表格为3行2列,数据内容为:

a b

c d

e f

用DataFrame可以表示为:

df=([['a','b'],['c','d'],['e','f']])

7. 将结果resultItem写入另一个csv文件。

在以下示例中,第一个参数是待写入的文件路径。

第二个参数header是指是否保留表头,保留则为True,不保留则为False。

第三个参数index是指是否保留列的索引,保留则为True,不保留则为False。

第四个参数mode是指以何种模式写入数据,"a"是append的缩写,表示以“追加”的方式写入数据。

resultItem.to_csv('E:\Result.csv',header=False,index=False,mode="a")

标签: #pythoncsv读取文件