ข้ามไปยังเนื้อหาหลัก

NCSV -

ANetCDF- ใช้ได้, UTF-8, CSV การกําหนดแฟ้ม รุ่น 1. 20

บ๊อบ ไซมอนส์ และ สตีฟ ฮันกิน "NCSV" โดย บ๊อบ ไซมอนส์ และสตีฟ ฮันนิน ได้รับใบอนุญาตให้อยู่ภายใต้CC by 4.0

แนะนํา

เอกสารนี้กําหนดรูปแบบแฟ้มข้อความแบบ UTF- 8 แบบข้อความ CSV ที่สามารถบรรจุข้อมูลทั้งหมดได้ (ข้อมูลกํากับภาพและข้อมูล) ที่สามารถพบได้ในNetCDF .ncแฟ้มที่บรรจุตารางข้อมูลแบบ CSV ส่วนขยายของแฟ้มสําหรับแฟ้มข้อความข้อความแบบ UTF-8 แบบ CSV ตามข้อกําหนดนี้ต้องเป็น .csv เพื่อให้สามารถอ่านได้ง่ายขึ้น และถูกต้องในโปรแกรมตารางคํานวณเช่น Ext and Google Founds Bob Simons จะเขียนซอฟต์แวร์เพื่อแปลงแฟ้ม NCSV เป็นNetCDF-3 (และบางทีNetCDF-4) .ncไฟล์และย้อนกลับ ที่ไม่มีการสูญเสียข้อมูล บ๊อบ ไซมอนส์ถูกดัดแปลงERDDAP™เพื่อรองรับการอ่านและเขียนแฟ้มประเภทนี้

รูปแบบ NCCSV ถูกออกแบบมาเพื่อให้โปรแกรมตารางคํานวณเช่น Excel และ Google February สามารถนําเข้าแฟ้ม NCSV เป็นแฟ้ม csv พร้อมข้อมูลทั้งหมดในเซลล์ของตารางคํานวณที่พร้อมสําหรับการแก้ไข หรือ, ตารางคํานวณสามารถสร้างได้จากรอยขีดข่วน ภายหลังการประชุม NCSV โดยไม่คํานึงถึงแหล่งของตารางคํานวณ หากมีการส่งออกเป็นแฟ้ม .csv มันจะสอดคล้องกับข้อกําหนดของ NCSV และจะไม่มีข้อมูลสูญหาย ความแตกต่างอย่างเดียวระหว่างแฟ้ม NCSV กับแฟ้มตารางคํานวณแบบคล้ายคลึงกัน ซึ่งต่อไปนี้คือ:

  • แฟ้ม NCCSV มีค่าบนบรรทัดที่แยกด้วยเครื่องหมายจุลภาค การแพร่กระจายมีค่าบนเส้นตรงในเซลล์ที่อยู่ติดกัน
  • ข้อความในแฟ้ม NCCSV มักจะถูกล้อมรอบด้วยคําพูดคู่ สตริงในตารางคํานวณไม่เคยถูกล้อมรอบด้วยคําพูดคู่
  • ข้อความอ้างถึงคู่ภายใน (") ในข้อความในแฟ้ม NCCSV ปรากฏเป็น 2 คําอ้างถึง การอ้างถึงคู่ภายในในตารางคํานวณปรากฏเป็น 1 คู่อ้างอิง

ดูสีพื้นหน้าด้านล่างนี้ สําหรับข้อมูลเพิ่มเติม

ประมวลผลได้

เหมือนกับแฟ้ม CSV โดยทั่วไปแล้ว แฟ้ม NCSV จะสามารถสตรีมได้ ดังนั้นหากมีการสร้าง NCSV บน-the-fly โดยเซิร์ฟเวอร์ข้อมูลเช่นERDDAP™เครื่องแม่ข่ายสามารถเริ่มกรอกข้อมูลไปยังผู้ร้องขอได้ ก่อนที่จะมีการรวบรวมข้อมูลทั้งหมด นี่เป็นคุณสมบัติที่มีประโยชน์และน่าปรารถนาNetCDFใน ทาง ตรง กัน ข้าม แฟ้ม ต่าง ๆ ไม่ อาจ หลั่ง ไหล ได้.

ERDDAP

กําหนดนี้ถูกออกแบบมาเพื่อให้แฟ้ม NCSV และ.ncแฟ้มที่สามารถสร้างขึ้นจากแฟ้มเหล่านี้สามารถใช้ได้โดยERDDAP™เซิร์ฟเวอร์ข้อมูล (ผ่านแฟ้ม DDTable จาก Nccsvถึงแฟ้ม DDTAB จาก Ncประเภทชุดข้อมูล) แต่ข้อกําหนดนี้ภายนอกERDDAP.ERDDAP™มี คุณสมบัติ ทั่ว โลก หลาย อย่าง ที่ จําเป็น และ ลักษณะ นิสัย ทั่ว โลก และ ตัวแปร หลาย อย่าง ซึ่ง ส่วน ใหญ่ อาศัย คุณสมบัติ ของ CF และ ACD (ดู จาก) / docs/server-admin/datatets #global-atributs)

สมดุล

การออกแบบรูปแบบของ NCCSV เป็นความสมดุลของความต้องการหลายอย่าง:

  • แฟ้มต้องบรรจุข้อมูลทั้งหมดและข้อมูลกํากับภาพที่จะอยู่ในแท็บNetCDFแฟ้มรวมทั้งชนิดของข้อมูลที่ระบุ
  • แฟ้มต้องสามารถอ่านได้และเขียนจากตารางคํานวณ ที่ไม่มีการสูญเสียข้อมูล
  • แฟ้มต้องง่ายสําหรับมนุษย์ ที่จะสร้าง แก้ไข อ่าน และเข้าใจ
  • แฟ้มต้องถูกวิเคราะห์ได้ชัดเจนโดยโปรแกรมคอมพิวเตอร์

หาก ข้อ เรียก ร้อง บาง ประการ ใน เอกสาร นี้ ดู เหมือน แปลก หรือ ไม่ ดี ก็ อาจ จําเป็น ต้อง ทํา ตาม ข้อ เรียก ร้อง เหล่า นี้ อย่าง หนึ่ง.

การกําหนดอื่น ๆ

คํา จํากัด ความ นี้ พาด พิง ถึง ข้อ กําหนด และ ห้อง สมุด อื่น ๆ อีก หลาย แห่ง ที่ มี การ ออก แบบ เพื่อ ทํา งาน ด้วย แต่ ข้อ กําหนด นี้ ไม่ ได้ เป็น ส่วน หนึ่ง ของ เงื่อนไข อื่น ใด ทั้ง ไม่ จําเป็น ต้อง มี การ เปลี่ยน แปลง ใด ๆ สําหรับ พวก เขา และ ไม่ ขัด แย้ง กับ ข้อ กําหนด เหล่า นั้น. หาก ราย ละเอียด ที่ เกี่ยว ข้อง กับ มาตรฐาน เหล่า นี้ ไม่ ได้ ระบุ ไว้ ที่ นี่ โปรด ดู ข้อ กําหนด ที่ เกี่ยว ข้อง. น่า สังเกต นี่ รวม ถึง:

หมายเหตุ

ในการกําหนดนี้วงเล็บ\[ \]เป็นตัวแทนของรายการทางเลือก

โครงสร้างแฟ้ม

แฟ้ม NCCSV ที่สมบูรณ์ประกอบด้วยสองตอน: ส่วนข้อมูลกํากับ ตามด้วยส่วนของข้อมูล

แฟ้ม NCCSV อาจจะบรรจุอักขระแบบ UCS-2 ก็ได้ (I.e., อักขระยูนิโค้ด 2byte, เช่นJava) เข้ารหัสผ่านทางยูทีเอฟ-8ERDDAP™อ่านและเขียนแฟ้ม NCSV โดยใช้รหัสอักขระแบบ UTF- 8

แฟ้ม NCCSV อาจใช้บรรทัดใหม่ (\n) (ซึ่งเป็นเรื่องปกติของลินุกซ์และ Mac OS X) หรือการกลับมาของสายการบิน (\r\n) (ซึ่งเป็นเรื่องปกติบนคอมพิวเตอร์ของวินโดวส์) เป็นเครื่องหมายปลายบรรทัด แต่ไม่ใช่ทั้งสองอย่าง

.nccsvข้อมูลกํากับภาพ

เมื่อ ทั้ง ผู้ สร้าง และ ผู้ อ่าน คาด หมาย ว่า จะ ได้ รับ การ ทํา เช่น นั้น ก็ จะ เป็น ไป ได้ และ บาง ครั้ง ก็ เป็น ประโยชน์ ด้วย ที่ จะ ทํา ให้ มี ส่วน ประกอบ ของ แฟ้ม NCSV ซึ่ง บรรจุ แค่ ส่วน ข้อมูลกํากับ (รวมทั้ง\*สิ้นสุด/ เมตาดาตา\*บรรทัด) . ผลที่ได้อธิบายคุณสมบัติ, ชื่อแฟ้ม, ชื่อตัวแปร, และประเภทข้อมูลที่สมบูรณ์ จึงให้บริการวัตถุประสงค์เดียวกันกับ .das บวก ids ตอบสนองมาจากOPeNDAPเซิฟเวอร์ERDDAP™จะกลับค่าการแปรเปลี่ยนนี้ หากคุณร้องขอแฟ้ม ประเภท=.nccsvข้อมูลกํากับภาพจากERDDAP™ชุดข้อมูล

ส่วน ข้อมูลกํากับภาพ

ในแฟ้ม NCCSV แต่ละบรรทัดของส่วนข้อมูลกํากับภาพจะใช้รูปแบบ ตัวแปร ชื่อ.คุณสมบัติ ชื่อ.ค่า 1\[, ค่า 2\]\[, ค่า 3\]\[, ค่า 4\]\[...\]
ไม่อนุญาตให้ใช้พื้นที่ก่อนหรือหลังรายการ เนื่องจากมันจะก่อให้เกิดปัญหาเมื่อมีการนําเข้าแฟ้มไปยังโปรแกรมตารางคํานวณ

การ ประชุม ภาค

บรรทัดแรกของแฟ้ม NCCSV เป็นบรรทัดแรกของส่วนข้อมูลกํากับ และต้องมี\ภาษาละติน\ลักษณะ เฉพาะ ของ การ ประชุม ภาค มี รายการ การ ประชุม ภาค ทุก แห่ง ที่ ใช้ ใน เอกสาร เป็น ข้อ ความ ซึ่ง มี รายการ ซี เอส วี: \*ภาษาละติน\*การประชุมCOARDSCF-1.6, ACD-1.3 NCCSV-1.2" การ ประชุม ภาค ครั้ง หนึ่ง ที่ ลง ไว้ ใน รายการ ต้อง มี การ จัด การ ประชุม ภาค นี้ ขึ้น ที่ NCSV-1.2.

จบข้อมูลกํากับภาพ

ส่วนท้ายของส่วนข้อมูลกํากับภาพของแฟ้ม NCSV จะต้องแสดงด้วยบรรทัดที่มีเฉพาะ \สิ้นสุด/ เมตาดาตา\

ขอแนะนําให้ใช้ แต่ไม่ได้ต้องการให้คุณสมบัติทั้งหมดของตัวแปรที่กําหนด ปรากฏบนเส้นประชิดของส่วนข้อมูลกํากับภาพ หากการแปลงแฟ้ม NCCSV ไปเป็นNetCDFแฟ้ม, ลําดับที่ตัวแปรName จะปรากฏครั้งแรกในส่วนข้อมูลกํากับ จะเป็นลําดับของตัวแปรต่าง ๆ ในNetCDFแฟ้ม

อนุญาตให้ใช้บรรทัดว่างในส่วนของข้อมูลกํากับภาพได้หลังจากบรรทัดแรกที่ต้องการแล้ว\ภาษาละติน\ การ ประชุม ภาคข้อมูล (ดูด้านล่าง) และก่อนหน้าข้อเรียกร้องสุดท้ายด้วย\สิ้นสุด/ เมตาดาตา\.

หากมีการสร้างตารางคํานวณจากแฟ้ม NCSV ส่วนข้อมูลกํากับจะแสดงด้วยชื่อตัวแปรในคอลัมน์ A, ชื่อคุณลักษณะในคอลัมน์ B และค่าในคอลัมน์ C

หากตารางคํานวณต่อไปนี้เป็นแฟ้ม CSV มักจะมีเครื่องหมายจุลภาคเพิ่มเติมที่ปลายบรรทัดในส่วนข้อมูลกํากับภาพ โปรแกรมที่แปลงแฟ้ม NCSV เป็น.ncแฟ้มจะไม่สนใจเครื่องหมายจุลภาคเพิ่มเติม

ตัวแปร ชื่อ

ตัวแปร ชื่อ เป็นชื่อของตัวแยกแยะตัวพิมพ์เล็ก- ใหญ่ ของแฟ้มข้อมูล ทุกชื่อตัวแปรจะต้องเริ่มต้นด้วยตัวอักษร ASCII 7 บิต หรือ เน้น และประกอบด้วยตัวอักษร ASCII 7 บิต, เครื่องหมาย เน้น และเลข ASCII 7 บิต

ภาษาละติน

ตัวแปรพิเศษName\ภาษาละติน\ใช้เพื่อแสดงข้อมูลกํากับภาพทั่วโลก

คุณสมบัติ ชื่อ

คุณสมบัติ ชื่อ เป็นชื่อที่แยกแยะได้ของแอททริบิวต์ที่เกี่ยวข้องกับตัวแปร หรือ\ภาษาละติน\. ทุกชื่อต้องเริ่มต้นด้วยตัวอักษร ASCII 7 บิต หรือ เน้น และประกอบด้วยตัวอักษร ASCII 7 บิต, เครื่องหมาย เน้น, และเลข ASCII 7 บิต

ขนาด SCALAR

คุณสมบัติ พิเศษ ชื่อ\*ขนาด SCALAR\*สามารถใช้สร้างตัวแปรข้อมูลสเกลาร์ และนิยามค่าของมันได้ ชนิดของข้อมูล\*ขนาด SCALAR\*กําหนดชนิดของข้อมูลสําหรับตัวแปร, ดังนั้น อย่าระบุ\*DATE/ TYPE\*คุณสมบัติสําหรับตัวแปรสเกลาร์ โปรดสังเกตว่า ต้องไม่มีข้อมูลเกี่ยวกับตัวแปรสเกลาร์ในส่วนข้อมูล ของแฟ้ม NCSV

ตัวอย่างเช่น, เพื่อสร้างตัวแปรสเกลาร์ที่เรียกว่า "ยาน" ด้วยค่า "โอเกียโนส เอกซ์โพลเรอร์" และคุณลักษณะ cf//role, ใช้: เรือ\ขนาด SCALAR\"Okeanas Express". เรือ, cf/role, Stregery\_id เมื่อตัวแปรข้อมูลสเกลาร์ถูกอ่านERDDAP™ค่าสเกลาร์แปลงเป็นคอลัมน์ในตารางข้อมูล ที่มีค่าเท่ากันในทุกแถว

ค่า

ค่า เป็นค่าของแอททริบิวต์ และจะต้องเป็นอาร์เรย์ที่มีหนึ่งหรือมากกว่า ไม่ว่าจะเป็น byte, ubyte, short, usort, int, utt, long, long, long, soft, left, leph, สตริง, หรือ char. ไม่รองรับชนิดของข้อมูลอื่น ๆ แอททริบิวต์ที่ไม่มีค่าจะถูกละทิ้ง ถ้ามีค่าย่อยมากกว่าหนึ่งค่า ค่าย่อยทั้งหมดต้องอยู่ในประเภทเดียวกัน สําหรับชนิดของข้อมูลอื่นที่ไม่ใช่สตริง ค่าต้องแยกด้วยเครื่องหมายจุลภาค ตัวอย่างเช่น: sst.actual\_range0.17f,23.58f สําหรับเชือก ใช้เชือกเส้นเดียว\n (บรรทัดใหม่) การแยกอักขระเป็นอักขระย่อย

นิยามของประเภทข้อมูลคุณลักษณะคือ

ไบต์

  • ค่าของแอททริบิวต์ไบต์ (8 บิต, เซ็น) ต้องเขียนด้วยวงเล็บ 'b', e.g., -7b, 0b, 7b. ช่วง ของ ค่า ไบต์ ที่ ใช้ ได้ คือ -128 ถึง 127. จํานวนที่ดูเหมือนไบต์แต่ใช้งานไม่ได้ (I.g., 128b) จะถูกแปลงเป็นค่าที่ขาดหายไป หรือกําลังสร้างข้อความผิดพลาด  

ubyte

  • ค่าแอตทริบิวต์ (8 บิต, บวก) ต้องเขียนด้วยเครื่องหมาย 'bub', e.g., 0ub, 7ub, 250b. ช่วงของค่าที่ใช้ได้คือ 0 ถึง 255 ตัวเลขที่ดูเหมือน ubyte แต่ใช้ไม่ได้ (256ub) จะถูกแปลงเป็นค่าที่ขาดหายไป หรือกําลังสร้างข้อความผิดพลาด เมื่อเป็นไปได้ ให้ใช้ไบต์แทน ubyte เพราะหลายระบบไม่รองรับการเพิ่มข้อมูล (เช่น คุณสมบัติในNetCDF- 3 แฟ้ม) .  

สั้น

  • ค่าแอททริบิวต์แบบสั้น (16 บิต, เซ็น) ต้องเขียนด้วยอักษร 's', e.g. -30000s, 0s, 30000s. ช่วงของค่าย่อที่ใช้ได้คือ -32768 ถึง 32767. ตัวเลขที่ดูสั้นแต่ใช้งานไม่ได้ (E.g., 32768s) จะถูกแปลงเป็นค่าที่ขาดหายไป หรือกําลังสร้างข้อความผิดพลาด  

ปกติ

  • ค่าของแอททริบิวต์ (16 บิต, บวก) ต้องเขียนด้วยอักษร 'us', e.g., 0us, 30000, 60000. ช่วงของค่าสั้นที่ใช้ได้คือ 0 ถึง 65535 ตัวเลขที่ดูเหมือนผ้าอนามัยแต่ใช้งานไม่ได้ (I.g., 65536us) จะถูกแปลงเป็นค่าที่ขาดหายไป หรือกําลังสร้างข้อความผิดพลาด เมื่อเป็นไปได้ ใช้แบบสั้นแทน usort เพราะหลายระบบไม่รองรับการปล่อยข้อมูล (เช่น คุณสมบัติในNetCDF- 3 แฟ้ม) .  

ไบต์

  • ค่าแอตทริบิวต์ของแอททริบิวต์ (32 บิต, เซ็น) ต้องเขียนเป็น Json Ints ไม่มีทศนิยมหรือเลขยกกําลัง แต่ด้วย i, e.g., -12067978i, 0i, 12067978i. ช่วงของค่า int ที่ใช้ได้คือ -2147483648 ถึง 2147483647. หมายเลขที่ดูเหมือน Int แต่ใช้งานไม่ได้ (E.g., 2147483648i) จะถูกแปลงเป็นค่าที่ขาดหายไป หรือกําลังสร้างข้อความผิดพลาด  

หมึก

  • ค่าลักษณะเฉพาะ (32 บิต, บวก) ต้องเขียนเป็น Json Ints ไม่มีทศนิยมหรือเลขชี้กําลัง แต่ด้วยเครื่องหมาย 'i', e.g., 0i, 12067978ui, 4123456789i. ช่วงของค่า int ที่ใช้ได้คือ 0 ถึง 4294967295 ตัวเลขที่ดูเหมือน uint แต่ใช้งานไม่ได้ (E.g., 2147483648i) จะถูกแปลงเป็นค่าที่ขาดหายไป หรือกําลังสร้างข้อความผิดพลาด เมื่อเป็นไปได้ ให้ใช้ int แทน inint เพราะหลายระบบไม่รองรับการปล่อยข้อมูล (in) (เช่น คุณสมบัติในNetCDF- 3 แฟ้ม) .  

ยาว

  • ค่าคุณลักษณะยาว (64 บิต, เซ็น, ปัจจุบันได้รับการสนับสนุนจาก NUT และERDDAP™แต่ยังไม่รองรับ CF) ต้องเขียนโดยไม่มีทศนิยม และด้วยเครื่องหมาย 'L', e.g., -1234567898964321 L, 0L, 1234589876543211. หากคุณใช้ซอฟต์แวร์แปลงค่าเป็นแฟ้ม NCSV โดยมีค่าเป็นNetCDF-3 แฟ้ม ค่ายาวจะถูกเปลี่ยนเป็นค่าคู่ ช่วงของค่ายาวที่ใช้ได้คือ -92233 7,368547808 ถึง 92233 7,78575807. ตัวเลขที่ดูเหมือนยาวแต่ใช้งานไม่ได้ (E.g., 922337203685478088L.) จะถูกแปลงเป็นค่าที่ขาดหายไป หรือกําลังสร้างข้อความผิดพลาด เมื่อเป็นไปได้ ใช้คู่แทนการยาว เนื่องจากหลายระบบไม่รองรับ (อี.จี.NetCDF- 3 แฟ้ม) .  

ยาว

  • ค่าแอททริบิวต์แบบยาว (64 บิต, การบวก, ปัจจุบันได้รับการสนับสนุนจาก NUT และERDDAP™แต่ยังไม่รองรับ CF) ต้องเขียนโดยไม่มีจุดทศนิยม และด้วยเครื่องหมาย 'UL', e.g., 0uL, 12345678987654343212, 9007199254740992L. หากคุณใช้ซอฟต์แวร์แปลงค่าเป็นแฟ้ม NCSV โดยมีค่าเป็นNetCDF-3 แฟ้ม ค่ายาวจะถูกเปลี่ยนเป็นค่าคู่ ช่วงของค่ายาวที่ใช้ได้คือ 0 ถึง 18446744073709551615. ตัวเลขที่ดูเหมือนยาวมากแต่ไม่ถูกต้อง (E.g., 184467440737095516161-2L) จะถูกแปลงเป็นค่าที่ขาดหายไป หรือกําลังสร้างข้อความผิดพลาด เมื่อเป็นไปได้ ใช้คู่แทนการยาว เนื่องจากหลายระบบไม่สนับสนุนการเซ็นหรือออกจําหน่ายนาน (อี.จี.NetCDF- 3 แฟ้ม) .  

ลอย

  • ค่าของแอททริบิวต์ที่ลอยอยู่ (32 บิต) ต้องเขียนด้วย ทศนิยม 'f' และอาจมีทศนิยม และ/หรือเลขชี้กําลัง, e.g., 0f, 1f, 12.34f, 1e12f, 1.23e+12f, 1.23e12f, 1. 87E-7f. ใช้ NNF สําหรับลอย NaN (หายไป) มูลค่า เรนจ์ของลอยมีประมาณ +/-3.402847E+38f (~7 ตําแหน่งทศนิยม) . หมายเลขที่ดูเหมือนลอย แต่ใช้งานไม่ได้ (เช่น 1.0.39f) จะถูกแปลงเป็นค่าที่ขาดหายไป หรือกําลังสร้างข้อความผิดพลาด  

หมู่

  • ค่าของแอททริบิวต์คู่ (64 บิต) ต้องเขียนด้วยเลขฐานสิบ 'd' และอาจมีทศนิยม และ/หรือเลขชี้กําลัง, e.g., 0d, 1d, 12.34d, 1e12d, 1.23e+12d, 1.23e12d, 1. 87E-7d. ใช้ NND สําหรับคู่ NaN (หายไป) มูลค่า เรนจ์ของคู่มีประมาณ +/-1.7997933486231570E+308d (~15 ทศนิยม) . หมายเลขที่ดูเหมือนคู่ แต่ไม่ถูกต้อง (I.g., 1.0.309d.) จะถูกแปลงเป็นค่าที่ขาดหายไป หรือกําลังสร้างข้อความผิดพลาด  

ข้อความ

  • ค่าคุณลักษณะต่าง ๆ เป็นลําดับของอักขระ UCS-2 (I.e., อักขระยูนิโค้ด 2byte, เช่นJava) ซึ่งต้องเขียนเป็นสายแบบเจสัน
    • ข้อความอ้างถึงคู่ (") ภายในค่าสตริงจะต้องเข้ารหัสเป็นสองคําพูดอ้างถึง ("") . นั่นคือสิ่งที่โปรแกรมตารางคํานวณต้องการ เมื่ออ่านแฟ้ม .csv นั่นคือสิ่งที่โปรแกรมตารางคํานวณเขียน เมื่อคุณบันทึกตารางคํานวณเป็นแฟ้ม .csv
    • อักขระพิเศษ Json backsash-encoded ภายในค่าสตริงจะต้องเข้ารหัสเป็น Json (โดยเฉพาะอย่างยิ่ง)\n(Newline),\\ (backslash),\f (instative),\ t (tab),\ r (กลับรถ) หรือด้วย\u ฮึ่ม ไวยากรณ์ ในตารางคํานวณ, อย่าใช้ Alt Enter เพื่อระบุบรรทัดใหม่ภายในเซลล์ข้อความ แต่ให้ใช้\n (2 ตัวอักษร: backsash and 'n ') เพื่อระบุเส้นใหม่
uhhhh
  • ตัวอักษรอื่น ๆ ทั้งหมดน้อยกว่าอักขระ #32 จะต้องถูกเข้ารหัสโดยใช้ไวยากรณ์\ u ฮึ่ม โดยมีเลขเฮกเซเดซิม 4 หลัก
  • ตัวอักษรทั้งหมดที่พิมพ์ได้มากกว่าอักขระ # 126, e.g. ลายเซ็นยูโร อาจจะดูเหมือนไม่มีรหัส, e.g., november (อักขระยูโร) หรือเข้ารหัส\u ฮึ่ม ไวยากรณ์, e.g.,\u20AC. ดูหน้ารหัสที่อ้างอิงที่ https://en.wikipedia.org/wiki/Unicode เพื่อหาเลขฐานสิบหกที่เกี่ยวข้องกับอักขระยูนิโค้ดเฉพาะ หรือใช้ไลบรารีซอฟต์แวร์ หมายเหตุที่บางERDDAP™ประเภทแฟ้มส่งออก, เช่น, .csv, ใช้ชุดอักขระ ISO 8859-1, ดังนั้น อักขระยูนิโค้ดที่อยู่ด้านบน (Unic) จะสูญหายไปเมื่อค่าข้อมูลเหล่านี้ถูกเขียนไปยังประเภทแฟ้มดังกล่าว
  • อักขระทั้งหมดที่ไม่สามารถพิมพ์ได้มากกว่าตัวละคร #126, e.g. อักขระ #127, is strongly discourtrofile date, but you language. ฮึ่ม ไวยากรณ์ ถ้าคุณรวมมันเข้าไปด้วย
  • ถ้าเชือกมีพื้นที่ที่เริ่มต้นหรือสิ้นสุด หรือรวม (ข้อความอ้างถึงคู่) หรือเครื่องหมายจุลภาค, หรือมีค่าที่จะ ตีความเป็นอย่างอื่น (E.g., Int) หรือคําว่า "null" สตริงทั้งต้องแนบในคําพูดคู่; มิฉะนั้นแตกต่างจาก Json, คํายกคู่ engramd เป็นตัวเลือก เราแนะนํา: เมื่อสงสัย ให้ผูกเชือกทั้งหมดเป็นคําพูดคู่ ช่องว่างที่เริ่มต้นหรือปลายของสาย จะท้อแท้อย่างมาก  

ค่า

  • ค่าลักษณะอักขระเป็นอักขระ UCS-2 ตัวเดียว (I.e., อักขระยูนิโค้ด 2byte, เช่นJava) . พิมพ์อักขระได้ (นอกจากตัวละครพิเศษเช่น Newline, ",', และ\) สามารถเขียนเป็น อักขระพิเศษ (เช่น Newline) และอักขระอื่นๆ ที่ไม่สามารถพิมพ์ได้ (I.g., 1127.) ต้องเขียนด้วย\u ฮึ่ม ไวยากรณ์ ค่าของแอททริบิวต์สีจะต้องถูกรวมเข้ากับคําอ้างถึงเดียว (คําคมภายใน) และคู่ดังกล่าว (คําคมภายนอก) , e.g., "'a','" (อักขระอ้างถึงคู่) '\' (ตัวละครเดี่ยวที่อ้างถึง) "'t' (แท็บ) '\\2007F' (ตัวลบ ') และ "'ที่รัก' (อักขระยูโร) . ระบบที่ใช้คําพูดแบบซิงเกิลและคู่นี้ แปลกประหลาดและน่าเบื่อ แต่มันคือวิธีแยกค่าของสีกับเส้นเชือก ค่าที่ดูเหมือนกับรหัสอักขระแต่ไม่ถูกต้อง จะเป็นการสร้างข้อความผิดพลาด หมายเหตุที่บางERDDAP™ประเภทแฟ้มส่งออก, เช่น, .csv, ใช้ชุดอักขระ ISO 8859-1, ดังนั้น อักขระยูนิโค้ดที่อยู่ด้านบน (Unic) จะสูญหายไปเมื่อค่าข้อมูลเหล่านี้ถูกเขียนไปยังประเภทแฟ้มดังกล่าว

แปรงทาสี

หมายเหตุว่าในส่วนคุณลักษณะของแฟ้ม NCSV ค่าลักษณะตัวเลขทั้งหมดจะต้องมีตัวอักษรซ้ํา (e.g., b) เพื่อระบุชนิดของข้อมูล (e.g., byte) . แต่ในส่วนของข้อมูลที่แฟ้ม NCCSV ค่าตัวเลขจะต้องไม่มีตัวอักษรเหล่านี้ (โดยยกเว้น 'L' สําหรับจํานวนเต็มยาวและ 'uL' สําหรับจํานวนเต็มยาว) — ประเภท ข้อมูล ถูก ระบุ โดย\*DATE/ TYPE\*คุณสมบัติของตัวแปร

ชนิดของข้อมูล

ชนิดของข้อมูลสําหรับแต่ละที่ไม่ใช่สเกลาร์ตัวแปรต้องกําหนดโดย\*DATE/ TYPE\*แอททริบิวต์ที่สามารถมีค่าของ byte, ubyte, short, usort, int, weint, long, guong, wol, two, two, สตริงหรือ char (กรณีที่ขาดความรู้สึก) . ยกตัวอย่างเช่น Qc/flack\*DATE/ TYPE\*ไบต์ (คําเตือน: ระบุที่ถูกต้อง)\*DATE/ TYPE\*เป็นความรับผิดชอบของคุณ ระบุชนิดของข้อมูลผิดพลาด (e.g., เมื่อคุณควรจะระบุแผ่นลอย) จะไม่สร้างข้อความผิดพลาด และอาจจะทําให้ข้อมูลสูญหายได้ (เช่น ค่าลอยจะถูกปัดเป็น ints) เมื่อมีการอ่านแฟ้มแบบ NCSVERDDAP™หรือแปลงเป็นNetCDFแฟ้ม

การถอดสี

ไม่ สนับสนุน การ ใช้ อักขระ ค่าของอักขระอาจถูกเขียนในส่วนข้อมูลเป็นอักขระเดี่ยว หรือเป็นข้อความ (โดดเด่นมาก ถ้าคุณต้องการที่จะเขียนตัวละครพิเศษ) . หากพบข้อความ อักขระแรกของสตริงจะใช้เป็นค่าของชาร์ ข้อความยาวศูนย์ และค่าที่ขาดไป จะถูกแปลงเป็นอักขระ\ uffoff สังเกตว่าNetCDFแฟ้มรองรับเฉพาะอักขระแบบ byteเท่านั้น จึงจะมีอักขระที่มากกว่า character # 255 ที่จะถูกแปลงเป็น '?' เมื่อมีการเขียนNetCDFแฟ้ม หากไม่ต้องการใช้แอตทริบิวต์ชุดรหัสอักขระ เพื่อระบุชุดรหัสอักขระอื่น ๆ สําหรับตัวแปรชุดรหัสอักขระ จะใช้รหัสอักขระ ISO-8859-1

ยืน หยัด มั่นคง

คน ประเภท ที่ ไม่ ได้ รับ มอบ หมาย เป็น คน ที่ ไม่ มี ใคร ติ ได้. แม้ว่าแฟ้มหลายประเภท (อี.จี.NetCDF- 4 และ เจ สัน) ถึงERDDAP™รองรับการใช้งานระยะยาว (ยูบีที, อุรุกวัย, อุลตลฯ) ค่าต่าง ๆ, การใช้ค่าแบบยาวและค่าบวกในแฟ้ม NCSV ในปัจจุบันไม่ถูกรองรับ เนื่องจากปัจจุบัน ค่าดังกล่าวยังไม่ได้รับการสนับสนุนจาก Excel, CF และNetCDF- 3 แฟ้ม หากคุณต้องการกําหนดค่ายาวหรือค่าบวกในแฟ้ม NCSV (หรือในตารางคํานวณเอกเซลที่ตรงกัน) คุณต้องใช้เครื่องหมาย 'L' เพื่อให้เอกเซล ไม่มองตัวเลขเป็นเลขจุดลอย โดยมีความแม่นยําต่ํา ปัจจุบัน หากแฟ้ม NCCSV ถูกแปลงเป็นแฟ้มNetCDF-3.ncแฟ้ม ค่าข้อมูลแบบยาวและยาวจะถูกแปลงเป็นค่าสองค่า ทําให้สูญเสียความแม่นยําสําหรับค่าที่มีขนาดใหญ่มาก (น้อยกว่า -2^53 นาน, หรือมากกว่า 2^53 สําหรับยาวและยาว) . ในNetCDF-3.ncแฟ้ม, ubyte, usort, และตัวแปร uint ปรากฏเป็น byte, short, และ int with an_ unigned= accessignity ในNetCDF-3.ncแฟ้ม, ubyte, usort, และคุณลักษณะ uint ปรากฏเป็น byte, short, และคุณสมบัติ int ที่บรรจุค่าคอมไพล์ทั้งสองที่สอดคล้องกัน (E.g., 255eb ปรากฎเป็น -1b) . นี่เป็นปัญหาอย่างแน่นอน ดังนั้น ประเภทข้อมูลที่เซ็นแล้ว ควรใช้แทนการปล่อยข้อมูลประเภทอื่น เมื่อใดก็ตามที่ทําได้

CF, ACDD, และERDDAP™ข้อมูลกํากับภาพ

เนื่องจากมีจินตนาการว่าแฟ้ม NCSV ส่วนใหญ่หรือ.ncแฟ้มต่าง ๆ ที่ถูกสร้างจากแฟ้มเหล่านี้จะถูกอ่านเป็นERDDAPขอแนะนําให้ใช้แฟ้ม NCSV รวมทั้งคุณสมบัติของข้อมูลกํากับภาพที่ต้องการ หรือขอแนะนําให้ใช้ERDDAP™(ดู) / docs/server-admin/datatets #global-atributs) คุณสมบัตินี้มาจากมาตรฐานข้อมูลกํากับภาพของ CF และ ACDD และใช้อธิบายชุดข้อมูลที่ถูกต้อง (ใคร, อะไร, ที่ไหน, ทําไม, ยังไง) สําหรับคนที่ไม่รู้เรื่องชุดข้อมูล โดยเฉพาะอย่างยิ่ง ตัวแปรตัวเลขเกือบทั้งหมด ควรจะมีหน่วยที่มีUDUNITS- มีค่าเท่ากัน, อี.จี. sstหน่วย, องศา/C

มันดีที่จะรวมคุณลักษณะเพิ่มเติมซึ่งไม่ได้มาจากมาตรฐาน CF หรือ ADD หรือจากERDDAP.

แผนกข้อมูล

โครงสร้าง

บรรทัดแรกของส่วนข้อมูลต้องมีรายการของตัวแปรที่แยกแยะได้ทั้งกรณี, เครื่องหมายจุลภาค ตัวแปรทั้งหมดในรายการนี้จะต้องอธิบายในส่วนข้อมูล และในทางกลับกัน (นอกจาก\ภาษาละติน\คุณสมบัติและ\ขนาด SCALAR\ตัวแปร) .

ครั้งที่สองผ่านเส้นหลายสายของส่วนข้อมูล ต้องมีรายการของค่าที่แยกเป็นจุลภาค แต่ละแถวของข้อมูล ต้องมีจํานวนของค่าเท่ากับ รายชื่อตัวแปรที่แยกเป็นเครื่องหมายจุลภาค ไม่อนุญาตให้ใช้พื้นที่ก่อนหรือหลังค่า เนื่องจากมันทําให้เกิดปัญหา เมื่อมีการนําเข้าแฟ้มไปยังโปรแกรมตารางคํานวณ แต่ละคอลัมน์ในส่วนนี้ต้องมีเฉพาะค่า\*DATE/ TYPE\*ระบุตัวแปรนั้นโดย\*DATE/ TYPE\*คุณสมบัติของตัวแปรนั้น ไม่เหมือนกับในส่วนคุณลักษณะ ค่าตัวเลขในส่วนข้อมูล ต้องไม่มีตัวอักษรซ้ํา เพื่อแสดงชนิดของข้อมูล ไม่เหมือนกับในส่วนคุณลักษณะ ค่าของอักขระในส่วนข้อมูล อาจเกินค่าการอ้างถึงซิงเกิล ถ้าไม่จําเป็นสําหรับการแยกส่วน (ดังนั้น, ',' และ '\' ต้องอ้างถึงที่นี่) . อาจจะมีจํานวนแถวข้อมูลเหล่านี้ ในแฟ้ม NCSV แต่ปัจจุบันERDDAP™สามารถอ่านแฟ้ม NCOSV ได้ถึง 2 พันล้านแถวเท่านั้น โดยทั่วไปแล้ว ขอแนะนําให้แยกชุดข้อมูลขนาดใหญ่ออกเป็นแฟ้มข้อมูล NCSV ซึ่งมีน้อยกว่า 1 ล้านแถว

ข้อมูลสิ้นสุด

จุดสิ้นสุดของส่วนข้อมูลต้องแสดงด้วยบรรทัดที่มีเท่านั้น \สิ้นสุด/ DATA\

หากมีเนื้อหาเพิ่มเติมในแฟ้ม NCSV ภายหลัง\*สิ้นสุด/ DATA\*บรรทัดจะถูกละทิ้งเมื่อแฟ้ม NCSV ถูกแปลงเป็น.ncแฟ้ม ด้วย เหตุ นั้น เนื้อหา ดัง กล่าว จึง ถูก ทํา ให้ ท้อ ใจ.

ในตารางคํานวณหลังการประชุมเหล่านี้ ชื่อตัวแปรและค่าข้อมูล จะอยู่ในหลายคอลัมน์ ดู ตัว อย่าง ข้าง ล่าง นี้.

ขาดค่า

ค่าที่ขาดไป อาจเขียนเป็นค่าตัวเลขที่ระบุโดยmissing\_valueหรือ / คุณสมบัติของตัวแปรนั้น ตัวอย่างเช่น, ดูค่าที่สองของแถวข้อมูลนี้: เบลล์ เอ็ม. ชิมาดะ, 99,12.4. นี่คือวิธีที่แนะนําในการจัดการค่าที่ขาดไป ไบต์, ubyte, short, usort, int, unt, ยาว, และยาวตัวแปร

ค่าของ NN อาจเขียนเป็น NN ตัวอย่างเช่น, ดูค่าที่สองของแถวข้อมูลนี้: Bell M. Shimida, NaN, 123.4.

ค่าต่าง ๆ ที่ขาดไป อาจระบุได้จากช่องว่างเปล่า ตัวอย่างเช่น, ดูค่าที่สองของแถวข้อมูลนี้: Bell M. Shimida, 123.4.

For byte, ubyte, short, usort, int, uint, long, ตัวแปรยาวและยาว, เครื่องมือแปลง NCCSV และERDDAP™จะแปลงช่องที่ว่างลงเป็นค่าสูงสุดที่อนุญาตสําหรับชนิดของข้อมูล (e.g., 127 สําหรับไบต์) . ถ้าคุณทําแบบนี้ ให้เพิ่มmissing\_valueหรือ access/fillvallue สําหรับตัวแปรที่จะระบุค่านี้, e.g. ตัวแปร ชื่อ _FullValue, 127b สําหรับตัวแปรลอยและคู่ สนามว่างเปล่าจะถูกแปลงเป็น NaN

ค่าของเวลา

ค่าเวลาของวันที่ (รวมถึงค่าวันที่ที่ไม่มีองค์ประกอบของเวลา) อาจแทนได้ด้วยตัวเลขหรือเชือกในแฟ้ม NCSV ตัวแปรเวลากําหนดอาจจะมีค่าของสตริงหรือค่าตัวเลขอย่างเดียว ไม่ใช่ทั้งคู่ ซอฟต์แวร์ NCCSV จะแปลงค่าเวลาของข้อความไปเป็นวันที่เป็นตัวเลข ค่าของเวลาเมื่อสร้าง.ncแฟ้ม (ต้องการ CF) . ค่าเวลาสตริง มีประโยชน์ต่อการถูกมนุษย์อ่านง่าย

ค่าเวลาที่ใช้แทนโดยใช้ค่าตัวเลข ต้องมีแอททริบิวต์ของหน่วยที่ระบุ " หน่วย ตั้งแต่ วันที่ เวลา "ตามที่ต้องการโดย CF และระบุโดยUDUNITSอี.จี. เวลา ยูนิต วินาที ตั้งแต่ปี 1970-01-01T00:00:00Z

ค่าของเวลาที่ใช้แทนค่าของข้อความ\*DATE/ TYPE\*แอตทริบิวต์และแอตทริบิวต์ของหน่วย ซึ่งกําหนดวันที่ รูปแบบเวลาที่ระบุโดยJavaคลาสข้อมูลเวลา ( https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html ) . ยกตัวอย่างเช่น เวลา หน่วยyyyy-MM-dd'T'HH:m:sZ' ค่าวันที่และค่าของตัวแปรที่ให้มาทั้งหมด ต้องมีรูปแบบเดียวกันนี้ ในกรณีส่วนใหญ่ รูปแบบของเวลาที่คุณต้องการ สําหรับแอตทริบิวต์หน่วย จะมีการเปลี่ยนแปลงของรูปแบบเหล่านี้หนึ่ง:

  • yyyy-MM-ddT'HH:MM:s SSSZ — ซึ่งเป็น ISO 8601: 2004 (E) วันที่ รูปแบบเวลา คุณอาจจะต้องการแบบย่อ ๆ ของนี้ เช่นyyyy-MM-dd'T'HH:m:sZ' (รูปแบบเดียวที่แนะนํา) หรือyyyy-MM-dd. หากคุณกําลังเปลี่ยนรูปแบบของค่าเวลาของคุณ NCSV ขอแนะนําให้คุณเปลี่ยนไปในรูปแบบนี้ (อาจจะสั้นลง) . นี่เป็นรูปแบบที่ERDDAP™จะใช้เมื่อมีการเขียนแฟ้ม NCSV
  • Yyyyymdhh helps.SS — ซึ่งเป็นเวอร์ชันของ ISO 8601:2004 วันที่ รูปแบบเวลา คุณอาจจะต้องการแบบย่อ ๆ ของนี้ เช่น Yyyyymd
  • เมกะไบต์ เอช:MM:s. SSS — ซึ่งจัดการเกี่ยวกับวันที่และเวลาแบบ US-Times เช่น "3/23/2017 16: 22, 03.000". คุณอาจต้องการแบบย่อ ๆ ของอันนี้ เช่น, m/d/yyyyy
  • YyyyDDDH PlancessS — ซึ่งเป็นปีบวกวัน 0 พ.ศ. (e.g, 011 = January 1, 365 = December 31 ในปีที่ไม่ใช่ปีวางไข่ บางครั้งนี้เรียกว่าวันที่จูเลียนผิด) . คุณอาจจะต้องการแบบย่อ ๆ ของนี้ เช่น, YyyyDDD

จํานวนทศนิยม

เมื่อไลบรารีซอฟต์แวร์แปลงค่าเป็น.ncแฟ้มลงในแฟ้ม NCCSV, วันที่ทั้งหมด ค่าเวลาจะถูกเขียนเป็นสตริงกับ ISO 8601: 2004 (E) วันที่ รูปแบบของเวลา, เช่น, 1970-01-01T00:00:00Z. คุณสามารถควบคุมความแม่นยําของERDDAP- คุณสมบัติเฉพาะtime\_precision. ดู / docs/server-admin/datasets#time\_precision.

เขตเวลา

เขตเวลาปริยายสําหรับวันที่ ค่าเวลาคือZulu (หรือ จีเอ็มที) เขตเวลา ซึ่งไม่มีเวลาประหยัด หากตัวแปรวันที่กําหนดเวลามีค่าเวลาจากเขตเวลาอื่น ๆ คุณต้องกําหนดค่านี้ด้วยERDDAP- คุณสมบัติเฉพาะtime\_zone. นี่เป็นเงื่อนไขสําหรับERDDAP™(ดู) / docs/server-admin/datasets#time\_zone)

ค่า จ้าง

ตามที่ต้องการจาก CF, ค่าทุกองศา (E.g. สําหรับ ลองจิจูดและละติจูด) ต้องกําหนดค่าเป็นเลขฐานสิบ เป็นเลขคู่ ไม่ใช่เลขฐานสิบ" ไม่ อนุญาต ให้ ออก แบบ เอ็น, เอส, อี, และ ดับเบิล ยู. ใช้ ค่า ลองจิจูด ตะวัน ตก และ เส้น ละติจูด ใต้ ใน ทาง ลบ.

แบบ DSG ชนิดของคุณสมบัติ

แฟ้ม NCCSV อาจบรรจุรูปแบบเรขาคณิตของ CF ( https://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html#discrete-sampling-geometries ) ข้อมูล มันเป็นคุณสมบัติที่ทําให้งานนี้

  1. แฟ้ม CF ที่ต้องการคือแฟ้ม NCSV ต้องรวมบรรทัดไว้ในส่วนของข้อมูลกํากับภาพที่จะระบุ\ภาษาละติน\ featureTypeอุปทาน, อี.จี. \ภาษาละติน\.featureTypeหม่อมชั้น
  2. สําหรับใช้ในERDDAP™แฟ้ม NCCSV ต้องรวมบรรทัดหรือบรรทัดในส่วนข้อมูลกํากับ ระบุค่า cf/_role=... /_id ตัวแปร, e.g. เรือ, cf/role, Stregery\_id นี่เป็นตัวเลือกสําหรับ CF แต่จําเป็นต้องใช้ใน NCCSV
  3. สําหรับใช้ในERDDAP™แฟ้ม NCCSV ต้องรวมบรรทัดหรือบรรทัดในส่วนข้อมูลกํากับ ระบุว่าตัวแปรใด ตรงกับเวลา, วิถี, หรือโพรไฟล์ที่จําเป็นERDDAP™(ดู) / docs/server-admin/datatets # cdm\_data\_ประเภท) e.g. \ภาษาละติน\,cdm\restiology\ ตัวแปร, parts" หรือ \*ภาษาละติน\*สืบค้นเมื่อ:

แฟ้มตัวอย่าง

นี่เป็นแฟ้มตัวอย่าง ซึ่งแสดงถึงคุณสมบัติต่าง ๆ ของแฟ้ม NCSV:

\\*GLOBAL\\*,Conventions,"COARDS, CF-1.6, ACDD-1.3, NCCSV-1.2"
\\*GLOBAL\\*,cdm\\_trajectory\\_variables,"ship"
\\*GLOBAL\\*,creator\\_email,erd.data@noaa.gov
\\*GLOBAL\\*,creator\\_name,Bob Simons
\\*GLOBAL\\*,creator\\_type,person
\\*GLOBAL\\*,creator\\_url,https://www.pfeg.noaa.gov
\\*GLOBAL\\*,featureType,trajectory
\\*GLOBAL\\*,infoUrl,https://erddap.github.io/docs/user/nccsv-1.20
\\*GLOBAL\\*,institution,"NOAA NMFS SWFSC ERD, NOAA PMEL"
\\*GLOBAL\\*,license,"""NCCSV Demonstration"" by Bob Simons and Steve Hankin is
licensed under CC BY 4.0, https://creativecommons.org/licenses/by/4.0/ ."
\\*GLOBAL\\*,keywords,"NOAA, sea, ship, sst, surface, temperature, trajectory"
\\*GLOBAL\\*,standard\\_name\\_vocabulary,CF Standard Name Table v55
\\*GLOBAL\\*,subsetVariables,"ship"
\\*GLOBAL\\*,summary,"This is a paragraph or two describing the dataset."
\\*GLOBAL\\*,title,"NCCSV Demonstration"
ship,\\*DATA\\_TYPE\\*,String
ship,cf\\_role,trajectory\\_id
time,\\*DATA\\_TYPE\\*,String
time,standard\\_name,time
time,units,"yyyy-MM-dd'T'HH:mm:ssZ"
lat,\\*DATA\\_TYPE\\*,double
lat,units,degrees\\_north
lon,\\*DATA\\_TYPE\\*,double
"lon","units","degrees\\_east"
status,\\*DATA\\_TYPE\\*,char
status,comment,"From http://some.url.gov/someProjectDocument , Table C"
testByte,\\*DATA\\_TYPE\\*,byte
testByte,units,1
testUByte,\\*DATA\\_TYPE\\*,ubyte
testUByte,units,1
testLong,\\*DATA\\_TYPE\\*,long
testLong,units,1
testULong,\\*DATA\\_TYPE\\*,ulong
testULong,units,1
sst,\\*DATA\\_TYPE\\*,float
sst,standard\\_name,sea\\_surface\\_temperature
sst,actual\\_range,0.17f,23.58f
sst,units,degree\\_C
sst,missing\\_value,99f
sst,testBytes,-128b,0b,127b
sst,testShorts,-32768s,0s,32767s
sst,testInts,-2147483648i,0i,2147483647i
sst,testLongs,-9223372036854775808L,0L,9223372036854775807L
sst,testFloats,-3.40282347e38f,0f,3.40282347E+38f
sst,testDoubles,-1.79769313486231570e308d,0d,1.79769313486231570E+308d
sst,testChars,"','","'""'","'€'"
sst,testStrings," a~,\\n'z""\\u20AC"
sst,testUBytes,0ub,127ub,255ub
sst,testUInts,0ui,2147483647ui,4294967295ui
sst,testULongs,0uL,9223372036854775807uL,18446744073709551615uL
sst,testUShorts,0us,32767us,65535us

\\*END\\_METADATA\\*
ship,time,lat,lon,status,testByte,testUByte,testLong,testULong,sst
Bell M. Shimada,2017-03-23T00:45:00Z,28.0002,-130.2576,A,-128, 0,-9223372036854775808L,0uL,10.9
Bell M. Shimada,2017-03-23T01:45:00Z,28.0003,-130.3472,\\u20AC,0,127,-9007199254740992L,9223372036854775807uL,10.0
"Bell M. Shimada","2017-03-23T02:45:00Z",28.0001,-130.4305,"'\\t'",126,254,9223372036854775806L,18446744073709551614uL,99
"Bell M. Shimada",2017-03-23T12:45:00Z,27.9998,-131.5578,"'""'",127,255,9223372036854775807L,18446744073709551615uL,NaN

บันทึกย่อ:

  • แฟ้มตัวอย่างนี้รวมกรณียากๆ อีกมากมาย (เช่น, อักขระ และตัวแปรยาว และค่าของเชือก) . แฟ้ม NCCSV ส่วนใหญ่จะง่ายขึ้นมาก
  • บรรทัดใบอนุญาตถูกแบ่งเป็นสองบรรทัดตรงนี้ แต่เป็นแค่เส้นเดียวในแฟ้มตัวอย่าง
  • \u20ac คือ\uhhhh การเข้ารหัสของ expression.\ u200FC คือ\uhhhการเข้ารหัสของอู นอกจากนี้คุณยังสามารถใช้ตัวอักษรที่ไม่มีรหัสโดยตรงได้
  • มาก เงื่อนในตัวอย่างนี้ ถูกห่อไว้ด้วยคําคมคู่ แม้จะไม่จําเป็นต้องเป็น เช่น คุณสมบัติทั่วไปมากมาย รวมถึงชื่อ ลอน ยูนิต และข้อมูลลําดับที่ 3)
  • มันจะชัดขึ้นและดีกว่า ถ้าคุณสมบัติของหน่วยสําหรับตัวแปรการทดสอบยาว ถูกเขียนเป็นคําพูดคู่ ระบุว่าเป็นมูลค่าสตริง แต่ตัวแทนปัจจุบัน (1 ไม่มีคําพูด) จะแปลอย่างถูกต้องเป็นสตริง, ไม่ใช่จํานวนเต็ม, เพราะมันไม่มีเครื่องหมาย 'i'
  • ต่างจากประเภทตัวเลขอื่น, ค่ายาวในส่วนข้อมูลมีเครื่องหมาย ('L') ที่ระบุชนิดของข้อมูล จําเป็น ต้อง ทํา เช่น นี้ เพื่อ ป้องกัน ไม่ ให้ ตารางคํานวณ แปล ค่า เป็น เลข จุด ลอย และ จึง สูญ เสีย ความ แม่นยํา.

ลวดลาย

ในตารางคํานวณ เช่นในแฟ้ม NCSV:

  • เขียนค่าแอททริบิวต์ของตัวเลขที่ระบุไว้สําหรับแฟ้ม NCSV (e.g. ด้วยตัวอักษรที่ต่อเนื่อง, e.g. 'f' เพื่อระบุประเภทข้อมูลของแอตทริบิวต์) .
  • ในสตริง, ทุกตัวอักษรที่ไม่สามารถพิมพ์และพิเศษ ต้องเขียนทั้งเหมือน Json-slated อักขระ (อี.จี.\nสําหรับบรรทัดใหม่) หรือเป็นเลขอักขระเลขฐานสิบหก (กรณีที่ขาดความรู้สึก) ด้วยไวยากรณ์\u ฮึ่ม . โดดเด่น ใช้\n (2 ตัวอักษร: backsash and 'n ') เพื่อบอกถึงเส้นใหม่ ที่อยู่ในสาย ไม่ใช่อัลท์ ent ent ตัวอักษรที่พิมพ์ได้ทั้งหมดอาจเขียนได้โดยไม่โค้ดหรือใช้ไวยากรณ์\u ฮึ่ม .

ความแตกต่างอย่างเดียวระหว่างแฟ้ม NCSV กับตารางคํานวณแบบคล้ายคลึงกัน ซึ่งต่อไปนี้คือ:

  • แฟ้ม NCCSV มีค่าบนบรรทัดที่แยกด้วยเครื่องหมายจุลภาค การแพร่กระจายมีค่าบนเส้นตรงในเซลล์ที่อยู่ติดกัน
  • ข้อความในแฟ้ม NCCSV มักจะถูกล้อมรอบด้วยคําพูดคู่ สตริงในตารางคํานวณไม่เคยถูกล้อมรอบด้วยคําพูดคู่
  • ข้อความอ้างถึงคู่ภายใน (") ในข้อความในแฟ้ม NCCSV ปรากฏเป็น 2 คําอ้างถึง การอ้างถึงคู่ภายในในตารางคํานวณปรากฏเป็น 1 คู่อ้างอิง

ถ้าตารางคํานวณต่อไปนี้มีการบันทึกการ ประชุมเหล่านี้เป็นแฟ้ม CSV มักจะมีเครื่องหมายจุลภาคเพิ่มเติมที่ปลายหลายบรรทัด โปรแกรมที่แปลงแฟ้ม NCSV เป็น.ncแฟ้มจะไม่สนใจเครื่องหมายจุลภาคเพิ่มเติม

เอกเซล

เพื่อนําเข้าแฟ้ม NCSV ไปยัง Express:

  1. เลือกแฟ้ม: open
  2. เปลี่ยนประเภทแฟ้มเป็นแฟ้มข้อความ (\. เหรียญ;\.txt; /*.csv) .
  3. ค้นหาไดเรกทอรีแล้วคลิกบนแฟ้ม .csv.
  4. คลิกเปิด

เพื่อสร้างแฟ้ม NCCSV จากดีเซลชีต:

  1. เลือกแฟ้ม: บันทึกเป็น...
  2. เปลี่ยนการบันทึกเป็นชนิด: เป็นแฟ้ม CSV (จุลชีพ) (_*.csv) .
  3. ในการตอบสนองเพื่อแจ้งเตือนความเข้ากันได้ คลิกใช่
  4. แฟ้มผลลัพธ์ของ .csv จะมีเครื่องหมายจุลภาคเพิ่มที่ปลายแถวทั้งหมด นอกเหนือจากแถว CSV คุณทําเป็นไม่สนใจได้เลย

ในเอกเซล, แฟ้มภาพ NCSV ตัวอย่างด้านบนปรากฏเป็น

Excel.png ตัวอย่าง

แผ่นงานของกูเกิ้ล

เพื่อนําเข้าแฟ้มแบบ NCSV ไปใช้ในกูเกิ้ลชีต:

  1. เลือกแฟ้ม: นําเข้า
  2. เลือกที่จะอัปโหลดแฟ้มและคลิกเมื่ออัปโหลดแฟ้มจากคอมพิวเตอร์ของคุณ เลือกแฟ้ม จากนั้นคลิ้กที่

หรือเลือกไดรฟ์ของฉันและเปลี่ยนประเภทของแฟ้มที่จะหย่อนลงเป็นประเภทแฟ้มทั้งหมด เลือกแฟ้ม จากนั้นคลิ้กที่

เพื่อสร้างแฟ้ม NCCSV จากแผ่นงานของกูเกิ้ล:

  1. เลือกแฟ้ม: บันทึกเป็น...
  2. เปลี่ยนการบันทึกเป็นชนิด: เป็นแฟ้ม CSV (จุลชีพ) (_*.csv) .
  3. ในการตอบสนองเพื่อแจ้งเตือนความเข้ากันได้ คลิกใช่
  4. แฟ้มผลลัพธ์ของ .csv จะมีเครื่องหมายจุลภาคเพิ่มที่ปลายแถวทั้งหมด นอกเหนือจากแถว CSV ช่างพวกเขาสิ

ปัญหา/ สงคราม

  • หากคุณสร้างแฟ้ม NCCSV ด้วยเครื่องมือแก้ไขข้อความ หรือถ้าคุณสร้างตารางคํานวณที่คล้ายคลึงกันในโปรแกรมตารางคํานวณ ตัวแก้ไขข้อความ หรือโปรแกรมตารางคํานวณจะไม่ถูกตรวจสอบว่า คุณทําตามวิธีเหล่านี้อย่างถูกต้องหรือไม่ ขึ้น อยู่ กับ คุณ ที่ จะ ติด ตาม การ ประชุม เหล่า นี้ อย่าง ถูก ต้อง.
  • การแปลงตารางคํานวณหลังจากการประชุมนี้ไปเป็นแฟ้ม csv (ดังนั้น จึงเป็นแฟ้ม NCSV) จะนําไปสู่การเพิ่มจุลภาคในตอนจบของแถวทั้งหมด นอกเหนือจากแถวข้อมูล CSV ช่างพวกเขาสิ ซอฟต์แวร์จึงแปลงแฟ้ม NCSV เป็น.ncแฟ้มจะไม่สนใจมัน
  • หากแฟ้ม NCCSV มีเครื่องหมายจุลภาคเกินที่ท้ายแถว คุณสามารถลบได้ โดยการเปลี่ยนแฟ้ม NCSV เป็นNetCDFแฟ้มที่แปลงNetCDFแฟ้มกลับไปที่แฟ้ม NCSV
  • เมื่อคุณพยายามแปลงแฟ้ม NCSV ให้เป็นNetCDFแฟ้ม, มีข้อผิดพลาดบางอย่างจะถูกตรวจพบโดยโปรแกรม และจะทําการสร้างข้อความผิดพลาด ทําให้การแปลงล้มเหลว ปัญหา อื่น ๆ เป็น เรื่อง ยาก หรือ เป็น ไป ไม่ ได้ ที่ จะ จับ ได้ และ จะ ไม่ เกิด ข้อ ผิด พลาด หรือ คํา เตือน. ปัญหาอื่น ๆ (เช่นจุลภาคเกินที่สิ้นสุดแถว) จะถูกละเลย ตัวแปลงแฟ้ม จะทําการตรวจสอบให้ถูกต้องน้อยที่สุดNetCDFไฟล์, เช่น, ในเรื่อง CF ตาม ความรับผิดชอบของผู้สร้างแฟ้มและผู้ใช้แฟ้ม เพื่อตรวจสอบว่า ผลของการแปลงนั้นถูกต้องหรือไม่ สองวิธีตรวจสอบคือ:
    • พิมพ์เนื้อหาของ.ncแฟ้มที่มี ncdup ( https://linux.die.net/man/1/ncdump ) .
    • แสดงเนื้อหาของข้อมูลในERDDAP™.

เปลี่ยน

ต้นฉบับคือNCOSV v1.00 (ในERDDAP™v1.76, ออกจําหน่าย 2017-05-12.)

  • การเปลี่ยนแปลงที่นําเข้ามาNCOSV v1. 10 (ในERDDAP™v2. 10 ออกจําหน่าย 2020-11-05.) .
    • เพิ่มการสนับสนุนสําหรับ Ubyte, usort, Unt, UNL. ต้องขอบคุณ CF ที่ช่วยสนับสนุนข้อมูลประเภทนี้ในซีเอฟ
  • การ เปลี่ยน แปลง ที่ มี การ นํา เข้า มา ใน v1.20 (ในERDDAP™v2.23. ออกจําหน่าย 2023-02-27.) .
    • สลับจากการเข้ารหัสอักขระ ASCII ไปเป็นรหัสอักขระ UTF-8 สําหรับแฟ้ม .csv.
      • ERDDAP™ยังอ่านแฟ้มจากรุ่นก่อนหน้าและรุ่นปัจจุบันทั้งหมดของ NCSV ได้
      • ERDDAP™ตอนนี้เขียนแฟ้ม NCCSV v1.20 เสมอ
      • หากคุณเขียนไคลเอนต์เพื่ออ่านแฟ้ม NCSV ให้เปลี่ยนเพื่อให้มันใช้แฟ้ม NCSV ทั้งหมดเป็นแฟ้ม UTF-8 ซึ่งจะทํางานกับแฟ้ม NCCSV ที่เก่ากว่า เพราะ ASCII เป็นสับเซตของรหัสอักขระ UTF-8
      • ต้องขอบคุณพอลลีน เชาเวท เนท และโธมัส การ์ดิเนอร์