python:pandas合併csv檔案(圖書資料整合)
阿新 • • 發佈:2019-01-03
資料整合:將不同表的資料通過主鍵進行連線起來,方便對資料進行整體的分析。
兩張表: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檔案。