1. 程式人生 > >python:pandas合併csv檔案(圖書資料整合)

python:pandas合併csv檔案(圖書資料整合)

資料整合:將不同表的資料通過主鍵進行連線起來,方便對資料進行整體的分析。

兩張表:ReaderInformation.csv,ReaderRentRecode.csv

ReaderInformation.csv:
這裡寫圖片描述

ReaderRentRecode.csv:
這裡寫圖片描述

pandas讀取csv檔案,並進行csv檔案合併處理:

# -*- coding:utf-8 -*-

import csv as csv
import numpy as np

# -------------
# csv讀取表格資料
# -------------
'''
csv_file_object = csv.reader(codecs.open('ReaderRentRecode.csv', 'rb'))
header = csv_file_object.next()
print header
print type(header)
print header[1]

data = []
for row in csv_file_object:
    data.append(row)
data = np.array(data)

print data[0::, 0]
'''
# ------------- # pandas讀取表格資料 # ------------- import pandas as pd df = pd.read_csv('ReaderRentRecode.csv') # 讀者借閱資訊表 ''' print df.head() print '----------------' print df[['讀者證號', '讀者姓名', '書名', '中圖法分類號']] # 選取其中的四列 print '------------------------------------------------------------------' print '''
dd = pd.read_csv('ReaderInformation.csv') ''' print dd.head() print '----------------' print dd[['讀者證號', '讀者性別', '讀者單位', '讀者類別']] print '------------------------------------------------------------------' print ''' data = pd.merge(df, dd, on=['讀者證號', '讀者姓名'], how='left') # pandas csv表左連線 data = data[['讀者證號'
, '讀者姓名', '讀者性別', '書名', '中圖法分類號', '讀者單位', '讀者類別']] print data print '------------------------------------------------------------------' print # ------------- # pandas寫入表格資料 # ------------- data.to_csv(r'data.csv', encoding='gbk')

合併後的csv檔案:data.csv
這裡寫圖片描述

通過使用pandas的函式merge來進行兩個表的左連線,最後得到相應的data.csv檔案。