วิธีการรวมข้อมูลจากไฟล์ Excel หลายไฟล์เป็นไฟล์ Excel เดียวหรือฐานข้อมูลการเข้าถึง


13

ฉันมีไฟล์ excel ไม่กี่โหลซึ่งเป็นรูปแบบเดียวกันทั้งหมด (เช่น 4 แผ่นงานต่อไฟล์ Excel) ฉันต้องรวมไฟล์ทั้งหมดเป็น 1 ไฟล์หลักซึ่งจะต้องมีเพียง 2 ใน 4 แผ่นงาน เวิร์กชีทที่เกี่ยวข้องจากไฟล์ Excel แต่ละไฟล์จะมีชื่อเหมือนกับส่วนหัวของคอลัมน์

ในขณะที่แต่ละไฟล์มีโครงสร้างเดียวกันข้อมูลภายในแผ่น 1 และ 2 (ตัวอย่าง) จะแตกต่างกัน ดังนั้นจึงไม่สามารถรวมเป็นไฟล์เดียวกับทุกสิ่งในแผ่นงานเดียว!

ฉันไม่เคยใช้ VBA มาก่อนและฉันสงสัยว่าฉันจะเริ่มงานนี้ได้ที่ไหน!

คำตอบ:


3

เมื่อคุณต้องการมันในแผ่นเดียวฉันคิดว่าข้างต้นไม่ใช่สิ่งที่คุณกำลังมองหา

ฉันใช้ Microsoft Access เพื่อรวมข้อมูล โดยเฉพาะอย่างยิ่งหากแผ่นงานที่แตกต่างกันมีตัวระบุที่คล้ายกัน (หมายเลขชิ้นส่วน / บุคคลที่ติดต่อ / ect)

คุณสร้าง "ตาราง" สำหรับแต่ละสเปรดชีตที่จะผสานคุณสร้าง "คิวรี" ซึ่งดึงคอลัมน์ที่ต้องการไปยังแผ่นงานเดียว


7

โปรดดูAdd-in ของตัวช่วยสร้างการรวมแผ่นงานสำหรับ Excel

การเพิ่มเข้ามีหลายโหมดการผสานหนึ่งในนั้นทำสิ่งที่คุณต้องการ

โปรดดูลิงค์นี้สำหรับคำอธิบายโดยละเอียดของโหมด (วิธีรวมชีตที่มีชื่อเดียวกันกับหนึ่ง)

Add-in เป็นแชร์แวร์ แต่มีเวอร์ชั่นทดลอง 15 วันเต็ม (ปุ่มดาวน์โหลดที่ด้านบนของหน้า) เพื่อให้คุณสามารถผสานเวิร์กบุ๊กนับพันได้ฟรี :)


5

นี่คือวิธีแก้ปัญหาในหลาม

import glob
import pandas as pd

path = "<path to files>"
file_identifier = "*.xlsx"

all_data = pd.DataFrame()
for f in glob.glob(path + "/*" + file_identifier):
    df = pd.read_excel(f)
    all_data = all_data.append(df,ignore_index=True)

1
ประหลาดใจอยู่เสมอว่าคุณสามารถทำอะไรกับงูหลามสองสามบรรทัด!
TimoSolo

2
เพื่อเขียนไฟล์ใช้สิ่งนี้: writer = pd.ExcelWriter('merged.xlsx', engine='xlsxwriter') \n all_data.to_excel(writer, sheet_name='Sheet1') \n writer.save()
TimoSolo


0
  1. เปิดสมุดงาน Excel ทั้งหมดในอินสแตนซ์เดียวกันของ Excel
    • คุณอาจต้องคลิกปุ่ม "กู้คืน" ภายในเพื่อดูสมุดงานแต่ละเล่ม
  2. เลือกแผ่นงานทั้งหมดที่คุณต้องการย้ายโดยCtrl+ การคลิกบนแท็บแผ่นงาน
  3. คลิกขวาที่หนึ่งในแท็บที่เลือกและเลือกย้ายหรือคัดลอก ...
  4. ในกล่องโต้ตอบที่ปรากฏขึ้นให้เลือกสมุดงานปลายทาง (สมุดงาน "ต้นแบบ" ของคุณ) จากนั้นเลือกตำแหน่งที่จะแทรก
    • (ย้ายไปสิ้นสุด)ตัวเลือกที่มีแนวโน้มว่าสิ่งที่คุณต้องการ แต่คุณสามารถเสมอสั่งซื้อใหม่ในภายหลัง
    • เลือกสร้างสำเนาหากคุณไม่ต้องการให้ลบแผ่นงานออกจากสมุดงานเล่มแรก
  5. คลิกตกลง

แผ่นงานที่เลือกจะถูกย้ายหรือคัดลอกจากสมุดงานต้นฉบับไปยังสมุดงาน "ต้นแบบ" ของคุณ เพียงแค่ปิด wookbook ของแหล่งที่มาและทำอีกครั้งกับอีกหนึ่งจนกว่าคุณจะรวบรวมแผ่นงานทั้งหมดที่คุณสนใจเป็น wookbook ขนาดใหญ่ อย่าลืมประหยัด!


ใช่ทำงานได้กับ Excel 2010
Keks Dose
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.