当前位置:   article > 正文

Python使用pandas对CSV进行操作(11种基础操作含源码)_python pandas csv

python pandas csv

源数据如下:含脏数据(price列)
在这里插入图片描述下列源码用到如下四个包:

import pandas as pd
import glob
import os
import csv
  • 1
  • 2
  • 3
  • 4

1.基础文件读写(等同于copy文件)

def base_read_and_write():
    input_file = 'csv_python.csv'#sys.argv[1]
    output_file = 'csv_python_write.csv'#sys.argv[2]
    data_frame = pd.read_csv(input_file)
    data_frame.to_csv(output_file,index = False)
  • 1
  • 2
  • 3
  • 4
  • 5

2.行中的值满足某个条件(含整理原始文件脏数据)

def write_row_in_col():
    input_file = 'csv_python.csv'
    output_file = 'csv_python_write.csv'
    data_frame = pd.read_csv(input_file)
    data_frame['price'] = data_frame['price'].str.strip('¥').str.replace(',','').astype(float)
    #清洗脏数据,这里有以万为单位的,也有以元为单位的,根据房产实际情况,我们把它们都整理成以万为单位的
    for i,millions_row in data_frame.iterrows():
        '''if (millions_row['price']>10000):
            million = millions_row['price']/10000
        else:
            million = millions_row['price']'''
        million = millions_row['price']/10000 if millions_row['price']>10000 else millions_row['price']#等同于上面的if-else
        data_frame.at[i,'price'] = '{}'.format(million)
    #取出含有'世贸'且房价大于200万的房子
    #[,:],逗号前为行,逗号后为列,:表示所有,如选定列,例如为:df.loc[:,'A']
    data_frame_value_meets_condition = data_frame.loc[(data_frame['name'].str.contains('世茂')) & (data_frame['price']>200),:]
    data_frame_value_meets_condition.to_csv(output_file,index = False)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

运行,新文件显示如下:
在这里插入图片描述

3.行中的值满足某个集合

def write_row_in_set():
    input_file =<
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/210145
推荐阅读
相关标签
  

闽ICP备14008679号