Chiến lược chỉnh sửa tệp giá trị được phân tách bằng dấu phẩy (CSV)


18

Khi tôi làm việc trên các dự án phân tích dữ liệu, tôi thường lưu trữ dữ liệu trong các tệp dữ liệu được phân cách bằng dấu phẩy hoặc phân tách bằng tab (CSV, TSV). Trong khi dữ liệu thường thuộc về một hệ thống quản lý cơ sở dữ liệu chuyên dụng. Đối với nhiều ứng dụng của tôi, điều này sẽ làm quá nhiều thứ.

Tôi có thể chỉnh sửa các tệp CSV và TSV trong Excel (hoặc có lẽ là một chương trình Bảng tính khác). Điều này có lợi ích:

  • bảng tính giúp dễ dàng nhập dữ liệu

Ngoài ra còn có một số vấn đề:

  • Làm việc với các tệp CSV và TSV dẫn đến một loạt các thông báo cảnh báo về các tính năng khác nhau bị mất và làm thế nào chỉ có bảng hoạt động sẽ được lưu và vv. Vì vậy, thật khó chịu nếu bạn chỉ muốn mở tệp và thực hiện một chút thay đổi.
  • Nó thực hiện nhiều chuyển đổi "được cho là thông minh". Ví dụ: nếu bạn nhập 12/3, nó sẽ nghĩ rằng bạn muốn nhập một ngày. CẬP NHẬT: Tôi nên đã đề cập rằng ví dụ ngày chỉ là một trong nhiều ví dụ; hầu hết các vấn đề dường như có liên quan đến chuyển đổi không phù hợp. Cụ thể, các trường văn bản trông giống như số hoặc ngày gây ra vấn đề.

Ngoài ra, tôi có thể làm việc trực tiếp với tệp văn bản trong trình soạn thảo văn bản tiêu chuẩn. Điều này đảm bảo rằng những gì tôi nhập là những gì được ghi lại. Tuy nhiên, cách nhập dữ liệu rất khó xử (các cột không xếp hàng; rất khó nhập dữ liệu vào nhiều ô, v.v.).

Câu hỏi

  • Chiến lược tốt để làm việc với các tệp dữ liệu CSV hoặc TSV là gì? tức là, chiến lược nào giúp bạn dễ dàng nhập và thao tác dữ liệu đồng thời đảm bảo rằng những gì bạn nhập thực sự được diễn giải chính xác?

1
Những loại hoạt động bạn thực sự làm trên các tập tin? Trong tâm trí của tôi, điều đó ảnh hưởng đáng kể đến phạm vi của các lựa chọn chấp nhận được. Ngoài ra, đối với tôi, bạn có thể chỉnh sửa dữ liệu TSV trong trình xử lý văn bản và sắp xếp các tab để giữ cột - miễn là trình xử lý văn bản của bạn có thể được đặt thành không thực hiện chuyển đổi "thông minh" và có thể lưu dưới dạng văn bản gốc, điều mà nhiều người có thể .
Wayne

@Wayne Điểm tốt. Bởi vì tôi đã lớn lên với các chương trình bảng tính, có nhiều phím tắt mà tôi quen thuộc (chức năng, sao chép và dán, thêm một cột phụ và nhiều hơn nữa). Lưu ý, tôi không nói ở đây về phân tích dữ liệu, mà chỉ tạo một tệp dữ liệu dạng bảng đơn giản (ví dụ: một số thông tin meta cần thiết để xử lý mã R của tôi). Mặc dù tôi có thể thực hiện tất cả các thao tác bảng cơ bản này trong R, nhưng nó không hoàn toàn trực quan đối với tôi. Có lẽ theo thời gian, mở một csv trong R, thực hiện một vài thay đổi và lưu lại nó sẽ trở thành lựa chọn ưa thích của tôi.
Jeromy Anglim

Câu trả lời:


14
  1. Nếu bạn cảm thấy thoải mái với R, bạn có thể tạo data.frame cơ bản của mình và sau đó sử dụng hàm fix () trên đó để nhập dữ liệu. Cùng dòng với số 5, khi bạn thiết lập data.frame, bạn có thể sử dụng một loạt readLines (n = 1) (hoặc bất cứ thứ gì) để đưa dữ liệu của bạn vào, xác thực dữ liệu và cung cấp cơ hội để thêm tiếp theo hàng. Sau đó để lại sửa chữa để sửa (). Xem một ví dụ được thực hiện dưới đây bằng cách sử dụng quét ().

  2. Một tùy chọn khác trong excel sẽ lộn xộn, nhưng bạn có thể nhập vào 12/9, sau đó có một cột khác đánh giá = IFERROR (MONTH (DateEntryCell) / DAY (DataEntryCell), DataEntryCell). Nhưng sau đó, bạn sẽ phải duy trì bảng excel VÀ bảng csv và tất cả các khiếu nại khi bạn viết csv sẽ tồn tại.

  3. Ngoài ra, miễn là các trường của bạn tương đối ngắn và có độ dài phù hợp, trình soạn thảo văn bản thông thường sẽ phục vụ tốt cho bạn với TSV. Bạn luôn có thể tải nó lên excel khi bạn hoàn thành và đảm bảo số lượng cột cho mỗi hàng là những gì bạn mong đợi.
  4. Emacs có sẵn trên một số nền tảng và có thể có một cái gì đó chỉ dành cho điều này, ví dụ: http://www.emacswiki.org/emacs/CsvMode .
  5. Nếu bạn là một người có tâm hồn nhiệt tình, việc lập trình một thứ gì đó nhanh chóng bằng ngôn ngữ lập trình để thực hiện việc nhập dữ liệu là chuyện nhỏ, việc chỉnh sửa dữ liệu sẽ khó khăn hơn rất nhiều.
  6. Một tìm kiếm nhanh trên google cho thấy phần mềm chỉ với mục đích này, nhưng dường như không có phần mềm miễn phí nào là tốt cả.
  7. Nghe có vẻ điên rồ, nhưng ai đó trên superuser đã đề xuất các bảng chỉnh sửa trong quyền truy cập và sau đó xuất chúng dưới dạng CSV ... điều đó đủ điên rồ để hoạt động.
  8. Nó không ngăn được excel phàn nàn khi bạn lưu dưới dạng .csv, nhưng bạn có thể nhập một dấu nháy đơn trước trường nhập dữ liệu của bạn và điều đó khiến nó bị bỏ lại một mình về mặt định dạng tự động. Đặc biệt, điều này (ít nhất là trong Office 2007) không để lại dấu nháy đơn trong tệp csv.

Cập nhật: Tôi đã tìm hiểu rất nhiều về vấn đề này vì đây là vấn đề tôi cũng gặp phải. Cho đến nay, giải pháp tốt nhất / dễ nhất để nhập dữ liệu mà tôi đã thấy cho đến nay là KillinkCSV . Nó không phải là phần mềm "miễn phí", nó là phần mềm chia sẻ với thời gian dùng thử 30 ngày và giá cả hợp lý (~ $ 27). Tôi không chắc chắn tôi tin tưởng bao nhiêu vào việc chỉnh sửa CSV hiện tại - Tôi đã đưa cho nó một CSV cực kỳ lớn (và có thể được định dạng tốt) và không thể đọc tất cả các hàng. Tuy nhiên, nó dường như hoạt động tốt đối với một cái có dung lượng khá lớn (20 MB) và vấn đề với tệp lớn hơn có thể là lỗi người dùng từ phía tôi.

R Ví dụ:

#This function takes a what argument like in scan, 
#a list with the types to be used, see usage example 
#at the end of this code block
#dataEntry will keep reading in values until 
#the values it reads in matches what is in 
#"terminateon".
#limitations: Many
dataEntry <- function(what,terminateon)
{
  CONTINUE <- TRUE #Make sure we start the loop
  data <- NULL #Create empty data so that the data.frame can define itself
  ti <- NULL
  while(CONTINUE)
  {
    ti <- NULL    
    ti <- tryCatch(
      {as.data.frame(scan(what=what, nlines=1, multi.line=FALSE, comment.char="",quiet=TRUE))},
      error=function (e) {print("Error in data entry! Line not stored.")
                          return(NULL)},
      warning=function(w) {print("Error in data entry! Line not stored.")
                           return(NULL)},
      finally={ti <- NULL}
    ) #Try getting the data according to the parameters in 'what' one row at a time.
    if (!is.null(ti))
    {
      if ((ncol(ti)==length(what)) & (nrow(ti)==1)) {
        data <- rbind(data,ti) #If there wasn't an error, add ti to the previous value  
      } else {
        print("Too many or not enough values on previous entry.")
        print("Tail of current data:")
        print(tail(data))
      }
    }
    if (!is.null(ti) & all(ti == terminateon)) 
    {
      CONTINUE <- FALSE
      data <- data[-c(nrow(data)),]
    } #if we've recieved the final value we won't continue and the last row is invalid so we remove it
  }
  return(data)
}

dataEntry(list(x=integer(), y=numeric(), z=character()),terminateon=c(999,999,"Z"))

Đúng, và hóa ra tôi đã csv-mode.elcài đặt nhờ emacs-goodies-elgói trong Debian / Ubuntu - gọn gàng.
Dirk Eddelbuettel

1
+1, Đối với điểm số 1, tất cả phần mềm thống kê tôi đã từng làm việc (ngoài R, Stata, SPSS và SAS) cung cấp loại chức năng này. Vì vậy, lời khuyên của bạn khái quát cho bất kỳ phần mềm nào mà ai đó muốn làm việc với.
Andy W

5

Cập nhật: [Đã trải qua một lượng lớn email tồn đọng từ R-Help] Tôi được nhắc nhở về chủ đề về " Hành vi củaread.csv() ". Trong đó, Duncan Murdoch đề cập rằng anh ta thích sử dụng các tệp Định dạng trao đổi dữ liệu (DIF) thay vì csv vì một số lý do Jeromy đề cập. Tôi vừa thử điều này và Gnumeric đã hiểu sai (tải 12/3 dưới dạng ngày), nhưng OpenOffice.org đọc chính xác và giữ nguyên thông tin 12/3. (Bất cứ ai quan tâm để kiểm tra điều này trong MS Excel?)

Các tệp DIF là văn bản thuần túy và có thể được đọc bởi bảng tính và R (miễn là bạn sử dụng bản sửa đổi R gần đây (bản sửa đổi SVN> = r53778)) sẽ đọc dữ liệu theo đúng định dạng.


Bản gốc : Tôi sẽ cố gắng tránh sử dụng toàn bộ bảng tính để chỉnh sửa / thao tác dữ liệu bất cứ khi nào có thể. Rất khó, nếu không nói là không thể, ghi lại bất kỳ thay đổi nào bạn thực hiện đối với tập dữ liệu hiện có để có khá nhiều quy tắc từ quan điểm nghiên cứu có thể lặp lại. Nhiều nhất, tôi sử dụng bảng tính để xem nhanh dữ liệu hiện có.

Để xử lý dữ liệu, tôi có xu hướng viết một tập lệnh R sẽ lấy tệp csv thô và áp dụng tất cả các bước xử lý cần thiết cần thiết. Tôi đánh giá rất cao kịch bản đó để giải thích chính xác những gì tôi đang làm ở mỗi giai đoạn và tại sao. Tập lệnh phân tích dữ liệu của tôi sau đó sẽ gọi tập lệnh xử lý dữ liệu tải và xử lý dữ liệu.

Để nhập dữ liệu, việc nhập dữ liệu vào trình soạn thảo văn bản hoặc trong bảng tính có rắc rối hơn không? Tôi nghi ngờ những vấn đề bạn đề cập sau này không vượt trội so với những vấn đề cố gắng nhập dữ liệu CSV vào trình chỉnh sửa văn bản.

Bạn có thể thử một bảng tính tốt hơn; OpenOffice.org từ chối dừng định dạng 12/3 dưới dạng ngày (hoặc chuyển đổi nó thành biểu diễn số) ngay cả khi một định dạng cột là "số" trước. Mặt khác, Gnumeric sẽ để lại 12/3 như vậy nếu bạn định dạng cột là "số" trước.

Bạn có thể buộc OpenOffice.org không định dạng lại ngày 12/3 như một ngày bằng cách thêm một 'mục vào các mục, tức là '12/3sẽ được hiển thị là 12/3 trong bảng tính và được lưu dưới dạng văn bản. Điều này có lẽ khá an toàn để sử dụng.

Không chắc chắn lý do tại sao bạn muốn 12/3 được lưu trữ số lượng là 12/3 trong tệp văn bản - làm thế nào một cái gì đó như R đọc được điều này?

Nhận xét của bạn về các cảnh báo về việc mất các tính năng hoặc chỉ lưu bảng hoạt động không thực sự là vấn đề? (Nếu có, thì tôi muốn vấn đề của bạn trong cuộc sống của tôi ;-)


Liên quan đến nghiên cứu có thể tái tạo, nếu định dạng tệp là CSV, thì tệp CSV có thể dễ dàng được đặt dưới sự kiểm soát phiên bản với các cam kết khi thay đổi được thực hiện. Điều này sẽ đủ cho nghiên cứu tái sản xuất? Liên quan đến nhập dữ liệu, tôi thường làm hoặc yêu cầu người khác thực hiện nhập dữ liệu thô ở định dạng độ rộng cố định để tối đa hóa hiệu quả; tuy nhiên tôi thích lưu trữ dữ liệu trong CSV hoặc TSV (tôi thấy nó minh bạch hơn); liên quan đến định dạng một cột dưới dạng số. thông tin này có lẽ sẽ bị mất khi lưu.
Jeromy Anglim

liên quan đến 12/3, tôi đã có một ví dụ về bài kiểm tra trắc nghiệm trong đó bài kiểm tra này đại diện cho 12 chia cho 3. Tuy nhiên, tôi sử dụng nó nhiều hơn như một ví dụ minh họa. Khi tôi có một tệp CSV lớn, tôi thậm chí không muốn một chuyển đổi không phù hợp. Liên quan đến các cảnh báo, nếu tôi mở tệp CSV 10 lần một ngày thì các cảnh báo trở nên tẻ nhạt. Họ cũng làm cho ít rõ ràng hơn liệu tôi có thực sự lưu tệp CSV hay không. Xin lỗi vì những lời tán tỉnh.
Jeromy Anglim

@Jeromy có, nếu bạn nghiêm ngặt về việc thực hiện một thay đổi (hoặc một bước xử lý dữ liệu duy nhất) mà bạn ngay lập tức lưu và cam kết. Ý tôi là không bao gồm một lưu ý về việc xử lý trong R (vì đó là ngôn ngữ ưa thích của tôi) bằng cách sử dụng tập lệnh. Đó là cách tôi làm việc với các đồng nghiệp dữ liệu gửi cho tôi; Tôi có thể xem nhanh trong bảng tính, sau đó đọc csv vào R và viết một tập lệnh bao gồm tất cả các bước xử lý dữ liệu tôi cần áp dụng. Sau đó tôi nhận xét kịch bản đó để tôi có một bản ghi về những gì tôi đã làm và tại sao tôi lại làm nó và tôi đã không thay đổi tệp dữ liệu gốc.
Phục hồi Monica - G. Simpson

@Jeromy: điểm công bằng trên các cảnh báo. Từ lâu tôi đã lọc chúng thành tiếng ồn để chúng không làm phiền tôi. Tôi vừa thử nghiệm Gnumeric và OpenOffice.org và họ chuyển đổi một csv với 12/3 thành ngày tự động - đó là rác! Vì vậy, tôi thấy những gì bạn có ý nghĩa. Cách duy nhất để ngăn chặn điều đó là lưu trữ những dữ liệu đó dưới dạng văn bản và buộc loại dữ liệu đó khi tải / nhập.
Phục hồi Monica - G. Simpson

@Jeromy: re: mất định dạng số - vâng, trừ khi bạn chỉ định loại cột là "số" (Gnumeric) hoặc "văn bản" trong (OpenOffice.org) khi nhập. Tốt hơn có thể là lưu trữ dưới dạng văn bản (xem câu trả lời đã được chỉnh sửa của tôi) để tránh chuyển đổi - bạn vẫn sẽ cần chỉ định loại dữ liệu khi nhập ...
Phục hồi Monica - G. Simpson

3

Tôi khuyên bạn nên xem google sàng lọc (http://code.google.com.vn/p/google-refine/). Tôi nghĩ là một công cụ rất tốt để chỉnh sửa các tệp CSV


Bạn có thể vui lòng giải thích làm thế nào điều này đáp ứng với yêu cầu cho một chiến lược trong câu hỏi?
whuber

3

Tôi sẽ tránh làm việc với các tệp CSV và TSV cùng nhau. Thay vào đó, hãy học cách sử dụng SQL và chỉ hoạt động trên bản sao dữ liệu hoặc cơ sở dữ liệu (DB) của dữ liệu của bạn hoặc bạn có thể sử dụng SAS hoặc R với kết nối passthru với cơ sở dữ liệu của bạn. Bằng cách đó, bạn có thể thực hiện cập nhật hàng loạt dữ liệu của mình thay vì thực hiện tìm kiếm và thay thế đáng sợ trong Excel (hoặc bất kỳ chương trình bảng tính nào bạn đang sử dụng) hoặc sao chép và dán có thể dễ bị lỗi. Ưu điểm của việc sử dụng hệ thống DB là bạn có thể kích hoạt ghi nhật ký và nhanh chóng khôi phục các thay đổi bạn đã thực hiện nếu chúng bị lỗi và tất cả các thay đổi có thể được kiểm tra. Ngoài ra, các ràng buộc toàn vẹn có thể được đặt trên các bảng DB của bạn để đảm bảo bạn không cập nhật nhầm hoặc thay đổi các biến / cột theo cách bạn cho là không phù hợp (ví dụ: ngày vẫn là ngày và các thông tin khác được phân loại phù hợp). Tôi đã thắng'

Nếu bạn thích bảng tính vì nó bằng cách nào đó cung cấp mục nhập dữ liệu của bạn, có thể khắc phục trong mọi cơ sở dữ liệu tôi từng sử dụng bằng cách sử dụng các công cụ / IDE giao diện người dùng đồ họa đi kèm với cơ sở dữ liệu (ví dụ: Microsoft Management Studio) hoặc bằng cách kéo vào một phiên bản được liên kết của cơ sở dữ liệu của bạn vào một hệ thống được thiết kế riêng để nhập dữ liệu của bạn và thực thi các ràng buộc dữ liệu (ví dụ: biểu mẫu bảng được liên kết trong Access hoặc giao diện web tùy chỉnh). Bạn cũng có thể sử dụng các chương trình khác sẽ cho phép bạn tận dụng tốt nhất cả hai thế giới và cập nhật dữ liệu trong Excel và để những thay đổi đó lan truyền đến cơ sở dữ liệu của bạn ( ví dụ: xem https://www.youtube.com/watch?v=5iyuF_mDSac ) .


2

Sau khi tôi hỏi câu hỏi này, tôi bắt đầu có một cái nhìn về CSV .

Từ trang web:

CSVed là trình chỉnh sửa tệp CSV dễ dàng và mạnh mẽ, bạn có thể thao tác bất kỳ tệp CSV nào, được phân tách bằng bất kỳ dấu phân cách nào.

Tôi không chắc có ai có kinh nghiệm với nó không.


Tôi đã thử cài đặt nó. Sau khi thử nhanh, có vẻ như rác để nhập dữ liệu; có lẽ nếu tôi đã dùng thử lâu hơn tôi có thể tìm ra cách sử dụng nó hiệu quả, nhưng tôi nghi ngờ là không.
russellpierce

Bạn có thể vui lòng giải thích làm thế nào điều này đáp ứng với yêu cầu cho một chiến lược trong câu hỏi?
whuber

2

Excel không thân thiện với CSV. Ví dụ: nếu bạn nhập "1.300" vào Excel và lưu nó dưới dạng giá trị được phân tách bằng dấu phẩy, nó sẽ cho phép bạn! Đây có thể là một vấn đề lớn (tôi gặp phải nó một cách thường xuyên khi nhận tệp từ người khác).

Cá nhân tôi sử dụng OpenOffice.org Calc, tôi cũng sử dụng nhiều giải pháp được liệt kê ở trên, tuy nhiên nhiều giải pháp trong số này không có chức năng và dễ sử dụng được yêu cầu để chỉnh sửa thường xuyên. OOO Calc thông minh hơn Excel rất nhiều, mặc dù là chương trình bảng tính, bạn vẫn sẽ phải nhập "= 12/3" thay vì "12/3" nếu không bạn sẽ nhập giá trị, thay vì tính toán.

Cho nó một vòng xoáy, bạn sẽ không thất vọng.


1

Tôi thích Gnumeric vì nó không cố gắng chống lại nhiều kẻ ngốc như vậy (nó không nói về chức năng bị mất) và hoạt động với dữ liệu lớn ... nhưng tôi nghĩ nó chỉ dành cho Linux.


1
Theo câu hỏi này, tôi đã thực hiện một cuộc săn lùng: có một dự án
Jeromy Anglim

1
mặc dù nó cảnh báo về việc chỉ lưu trang hiện tại (là một trong những con bọ lỗi của Jerom) và nó có tính năng khó chịu khi chuyển đổi số 12/3 được lưu chính xác thành ngày trừ khi bạn chỉ định thủ công chúng là số khi nhập (Dữ liệu> Nhận Dữ liệu ngoài> Nhập tệp văn bản ...) không tải.
Phục hồi Monica - G. Simpson

Bạn có thể vui lòng giải thích làm thế nào điều này đáp ứng với yêu cầu cho một chiến lược trong câu hỏi?
whuber

1

Chỉ cần sử dụng Ron's Editor . Nó giống như Excel mà không có 'trợ giúp'.

Từ trang web:

Ron's Editor là một văn bản dạng bảng mạnh mẽ, hoặc CSV, trình chỉnh sửa. Nó có thể mở bất kỳ định dạng nào của văn bản được phân tách, bao gồm các tệp được phân tách bằng dấu phẩy và tab tiêu chuẩn (CSV và TSV) và cho phép kiểm soát toàn bộ nội dung và cấu trúc của chúng.

Không chỉ có thể chỉnh sửa các tệp văn bản dạng bảng mà còn có thể dễ dàng lọc và tóm tắt trong nhiều chế độ xem theo yêu cầu, thêm chức năng phân tích mạnh mẽ.

  • Giấy phép: Miễn phí cho sử dụng / đánh giá cá nhân
  • Chạy trên: Windows 32/64-bit 2000 / XP / 2003 / Vista /

Bạn có thể vui lòng giải thích làm thế nào điều này đáp ứng với yêu cầu cho một chiến lược trong câu hỏi?
whuber

1

Cá nhân tôi thích sử dụng ý tưởng "cơ sở dữ liệu quan hệ" để quản lý các tệp CSV. Các tệp CSV tốt cho việc trao đổi dữ liệu, nhưng không chứa logic nghiệp vụ. Kinh nghiệm làm việc với CSV của tôi là "có nhiều lần lặp lại với doanh nghiệp để tinh chỉnh phân tích". Làm việc chỉ với các tệp văn bản thuần túy (CSV) sẽ đặt ra nhiều thách thức. Ví dụ: tệp CSV sẽ không hiển thị "điều gì làm cho dữ liệu trở nên duy nhất", nghĩa là "khóa chính cho mỗi hàng" là gì. Điều này sẽ gây ra vấn đề lớn về sau, khi chúng tôi có nguồn dữ liệu khác để tham gia.

SQLite là một công cụ tốt để biến CSV thành cơ sở dữ liệu quan hệ và tương tự như CSV, nó rất dễ trao đổi và không cần thiết lập máy chủ. Quan trọng hơn, nó hỗ trợ rất tốt trongR và các phần mềm thống kê khác.

Chiến lược của tôi là luôn duy trì "dữ liệu được làm sạch" trong cơ sở dữ liệu quan hệ. Và giữ nó rõ ràng trên khóa chính của mỗi bảng.

Dưới đây là một ví dụ về những gì có thể xảy ra trong từ thực (giả sử chúng tôi đang bán sách):

  • Ngày 1, tôi nhận được một tệp CSV chứa tất cả thông tin của khách hàng.
  • Ngày 2, tôi nhận được một tệp CSV khác chứa tất cả thông tin về sản phẩm (sách). Vì một số lý do, doanh nghiệp cho biết không có sẵn số ISBN và sự kết hợp giữa tên sách và tên tác giả là khóa chính.
  • Ngày 3, doanh nghiệp tìm thấy phiên bản sách cần được tính, họ gửi một CSV khác để "ghi đè" CSV của day2.
  • Ngày 4, Doanh nghiệp tìm thấy thông tin khách hàng có thể được cập nhật (chẳng hạn như thay đổi địa chỉ), họ gửi một phiên bản cập nhật thông tin khách hàng.

Bây giờ, bạn có thể thấy lợi thế của dữ liệu sạch và giữ chúng trong cơ sở dữ liệu quan hệ. Với ID khách hàng nói là khóa chính và tên sách, tác giả và phiên bản là khóa chính. Rất dễ dàng để thực hiện cập nhật dữ liệu và kết hợp các thay đổi khi cần thiết. Ngoài ra khóa chính cũng cung cấp "các ràng buộc" và "kiểm tra độ tỉnh" cho dữ liệu mới sắp tới.


0

Nếu bạn sử dụng tính năng "Nhập dữ liệu" của Excel, nó sẽ cung cấp cho bạn tùy chọn chọn loại dữ liệu cho từng cột. Bạn có thể chọn tất cả các cột và sử dụng kiểu dữ liệu "Văn bản".


Bạn có thể vui lòng giải thích làm thế nào điều này đáp ứng với yêu cầu cho một chiến lược trong câu hỏi?
whuber
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.