Hợp nhất các tệp csv javascript

Phân tích sâu hơn về trạng thái bảo trì của merge-convert-csv-to-json dựa trên nhịp phiên bản npm đã phát hành, hoạt động của kho lưu trữ và các điểm dữ liệu khác đã xác định rằng việc bảo trì của nó là Không hoạt động

Một tín hiệu bảo trì dự án quan trọng cần xem xét để hợp nhất-chuyển đổi-csv-to-json là nó không thấy bất kỳ phiên bản mới nào được phát hành cho npm trong 12 tháng qua và có thể được coi là một dự án đã ngừng hoặc nhận được thấp

Là một dấu hiệu lành mạnh cho việc bảo trì dự án đang diễn ra, chúng tôi nhận thấy rằng kho lưu trữ GitHub có ít nhất 1 yêu cầu kéo hoặc vấn đề được cộng đồng tương tác

Nhưng hãy tưởng tượng nếu bạn có hơn 100 tệp để nối — bạn có sẵn sàng thực hiện thủ công không?

Nếu tất cả các tệp có cùng cấu trúc bảng [cùng tiêu đề & số cột], hãy để tập lệnh Python nhỏ này thực hiện công việc

Bước 1. Nhập gói và đặt thư mục làm việc

Thay đổi “/mydir” thành thư mục làm việc mong muốn của bạn

import os
import glob
import pandas as pd
os.chdir["/mydir"]

Bước 2. Sử dụng hình cầu để khớp với mẫu 'csv'

Khớp mẫu [‘csv’] và lưu danh sách tên tệp trong biến ‘all_filenames’. Bạn có thể xem liên kết này để tìm hiểu thêm về đối sánh biểu thức chính quy

extension = 'csv'
all_filenames = [i for i in glob.glob['*.{}'.format[extension]]]

Bước 3. Kết hợp tất cả các tệp trong danh sách và xuất dưới dạng CSV

Sử dụng gấu trúc để nối tất cả các tệp trong danh sách và xuất dưới dạng CSV. Tệp đầu ra có tên là “combined_csv. csv” nằm trong thư mục làm việc của bạn

#combine all files in the list
combined_csv = pd.concat[[pd.read_csv[f] for f in all_filenames ]]
#export to csv
combined_csv.to_csv[ "combined_csv.csv", index=False, encoding='utf-8-sig']

mã hóa = 'utf-8-sig' được thêm vào để khắc phục sự cố khi xuất các ngôn ngữ 'Không phải tiếng Anh'

Và…thế là xong

Bài viết này được lấy cảm hứng từ vấn đề thực tế hàng ngày của tôi và cấu trúc mã hóa là từ một cuộc thảo luận trên stackoverflow. Tập lệnh hoàn chỉnh cho hướng dẫn này được ghi lại trên GitHub

Cảm ơn bạn đã đọc. Vui lòng dùng thử, vui chơi và cho tôi biết phản hồi của bạn

Nếu bạn thích những gì tôi đã làm, hãy cân nhắc theo dõi tôi trên GitHub, Medium và Twitter. Đảm bảo đánh dấu sao trên GitHub. P

QUẢNG CÁO

QUẢNG CÁO

Ekapope Viriyakovithya

Thích tự động hóa công việc thường ngày, cựu kỹ sư mỏ dầu. https. // ekapope. github. io/

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Nút. js thật tuyệt vời vì nó là một hệ sinh thái. Càng tuyệt vời hơn khi sử dụng chung với một số thư viện phổ biến như D3. js và Lodash

Mục đích

Tôi đã phải xử lý trước một loạt tệp csv để làm việc với một tệp tập dữ liệu cho thuận tiện. Nút. js hiện là nền tảng được lựa chọn cho loại nhiệm vụ này và tôi không thể hài lòng hơn về nó

Quá trình

Dưới đây là hướng dẫn về kịch bản nhỏ này giúp tôi tiết kiệm rất nhiều thời gian

Nhập khẩu vũ khí của chúng tôi

const d3 = require['d3']
const fs = require['fs']
const _ = require['lodash']

Đọc một thư mục để lấy danh sách tệp gọi một hàm cho từng tệp

var files = fs.readdirSync[`${__dirname}/data`]
_.each[files, filename => process[filename]]

Đọc nội dung csv và phân tích nó bằng D3. js

var process = name => {
  var raw = fs.readFileSync[`data/${name}`, 'utf8']
  var csv = d3.csvParse[raw]
}

Sắp xếp một số giá trị trước khi cam kết với mảng cuối cùng

var process = name => {
 ...
 var parse = d3.timeParse['%m/%d/%y']
 csv.forEach[d => {
   d.timestamp = parse[d.Dates]
 }]
}

Tạo một mảng duy nhất với tất cả các tệp csv được hợp nhất với nhau [cảm ơn Lodash]

var db = []
var process = name => {
  ...
  var newdb = _.unionBy[db, csv, 'Dates']
  db = newdb
}

Lưu tập dữ liệu cuối cùng dưới dạng tệp JSON

________số 8_______

Toàn bộ tập lệnh tạo một tệp json với tất cả các mục nhập. Một điểm khởi đầu hoàn hảo cho một phiên khám phá với D3. js

Làm cách nào để hợp nhất nhiều tệp CSV thành một trong JavaScript?

Tại sao bạn cần điều này? .
Bước 1. Nhập gói và đặt thư mục làm việc. Thay đổi “/mydir” thành thư mục làm việc mong muốn của bạn. .
Bước 2. Sử dụng toàn cầu để khớp mẫu 'csv' Khớp mẫu ['csv'] và lưu danh sách tên tệp trong biến 'all_filenames'. .
Bước 3. Kết hợp tất cả các tệp trong danh sách và xuất dưới dạng CSV

Bạn có thể sử dụng CSV trong JavaScript không?

Tệp CSV sử dụng JavaScript. Để chuyển đổi hoặc phân tích cú pháp dữ liệu CSV thành một mảng, chúng ta cần lớp FileReader của JavaScript, lớp này chứa phương thức có tên readAsText[] sẽ đọc nội dung tệp CSV và phân tích kết quả dưới dạng văn bản chuỗi. Nếu chúng ta có chuỗi, chúng ta có thể tạo một hàm tùy chỉnh để biến chuỗi thành một mảng

Các tệp CSV có thể có các ô được hợp nhất không?

Tệp CSV không hỗ trợ các ô được hợp nhất hoặc bất kỳ kiểu hoặc định dạng nào. Nếu bạn cần kiểm soát định dạng đầu ra, hãy cân nhắc sử dụng sản phẩm tạo tài liệu từ AppExchange để tạo tệp bảng tính gốc. Không cần liên quan đến AppExchange, chỉ cần sử dụng định dạng hỗ trợ định dạng.

Làm cách nào để hợp nhất các tệp CSV trong CMD?

Hợp nhất tất cả các tệp CSV hoặc TXT trong một thư mục trong một trang tính .
Nút Bắt đầu của Windows. Chạy
Gõ cmd và nhấn enter ["lệnh" trong Win 98]
Chuyển đến thư mục có tệp CSV [để được trợ giúp cách thực hiện, hãy nhập "help cd"]
Nhập bản sao *. csv tất cả. .
Gõ exit và nhấn enter để đóng cửa sổ DOS

Chủ Đề