python引用pandas读写csv文件


需求:读取一个csv文件,根据文件内容进行数据处理,将处理结果写入另一个csv文件。
实现:用Python导入pandas库,将csv文件读入一个DataFrame,然后将这DataFrame的内容写入另一个csv文件。
1. 导入pandas库。
 numReportCube=0 # 776 
 
2. 定义若干变量并赋初值用于后续数据处理。本示例中定义numReportCube用来统计某一种类型的数据的数量,初值为0。
 numReportCube=0 # 776 
3. 将csv文件的内容读入一个DataFrame。本示例中将这个DataFrame赋值给cube
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))  

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")

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM