上午的c程序寫入xlsx較快但不正確,python程序雖正確但過慢。所以找了一個全部源程序加起來不到4K字節的C語言csv解析庫Minicsv,來改寫,改寫結果如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include "xlsxwriter.h"
#include "minicsv.h"#define MAX_COLS 255 // 最大列數限制
#define MAX_LINE_LENGTH 65536 // 單行最大長度int main(int argc, char *argv[]) {if (argc != 3) {fprintf(stderr, "Usage: %s <input.csv> <output.xlsx>\n", argv[0]);return EXIT_FAILURE;}// 打開CSV文件FILE *csv_file = fopen(argv[1], "r");if (!csv_file) {fprintf(stderr, "Error opening file: %s\n", strerror(errno));return EXIT_FAILURE;}// 創建工作簿和工作表lxw_workbook *workbook = workbook_new(argv[2]);lxw_worksheet *worksheet = workbook_add_worksheet(workbook, NULL);char line_buf[MAX_LINE_LENGTH];char *cols[MAX_COLS];size_t cols_count;int row = 0;int progress_counter = 0;printf("Processing CSV file...\n");// 逐行讀取和處理CSV文件while (fgets(line_buf, sizeof(line_buf), csv_file)) {// 移除換行符line_buf[strcspn(line_buf, "\r\n")] = '\0';// 解析當前行if (minicsv_parse_line(line_buf, cols, &cols_count, MAX_COLS) == NULL) {fprintf(stderr, "Error at line %d: Too many columns or parsing error\n", row+1);continue;}// 跳過空行if (cols_count == 0) {continue;}// 寫入Excel行for (size_t i = 0; i < cols_count; i++) {// 嘗試轉換為數字char *endptr;double num = strtod(cols[i], &endptr);if (*endptr == '\0') {worksheet_write_number(worksheet, row, i, num, NULL);} else {worksheet_write_string(worksheet, row, i, cols[i], NULL);}}row++;progress_counter++;// 每處理100000行顯示進度if (progress_counter >= 100000) {printf("Processed %d rows...\n", row);progress_counter = 0;}}// 關閉文件和保存工作簿fclose(csv_file);lxw_error error = workbook_close(workbook);if (error) {fprintf(stderr, "Error creating Excel file: %s\n", lxw_strerror(error));return EXIT_FAILURE;}printf("Successfully converted '%s' to '%s' (%d rows)\n", argv[1],argv[2], row);return EXIT_SUCCESS;
}
編譯和執行情況如下
gcc minicsv.c c2x3.c -o c2x3 -I . -I libxlsxwriter/include -lxlsxwriter -L libxlsxwriter/lib -O3
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:libxlsxwriter/lib
time ./c2x3 NYC_311_SR_2010-2020-sample-1M.csv output.xlsx
Processing CSV file...
Processed 100000 rows...
Processed 200000 rows...
Processed 300000 rows...
Processed 400000 rows...
Processed 500000 rows...
Processed 600000 rows...
Processed 700000 rows...
Processed 800000 rows...
Processed 900000 rows...
Processed 1000000 rows...
Successfully converted 'NYC_311_SR_2010-2020-sample-1M.csv' to 'output.xlsx' (1000001 rows)real 1m14.115s
user 0m44.640s
sys 0m7.400s
ls -l output.xlsx
-rwxrwxrwx 1 root root 219313665 Aug 15 12:54 output.xlsx
三種插件讀入情況如下,可見它們都能完整讀取剛才生成的文件,行數正確,內容符合預期,我們的csv解析器實現正確,生成的文件大小比python生成的略小,但不影響結果。
D load rusty_sheet;
D .timer on
D create table t as from read_sheet('output.xlsx');
100% ▕████████████████████████████████████████████████████████████▏
Run Time (s): real 48.929 user 50.380880 sys 3.794923
D summarize t;
┌──────────────────────┬─────────────┬──────────────────────┬──────────────────────┬───────────────┬───┬────────────────────┬────────────────────┬────────────────────┬─────────┬─────────────────┐
│ column_name │ column_type │ min │ max │ approx_unique │ … │ q25 │ q50 │ q75 │ count │ null_percentage │
│ varchar │ varchar │ varchar │ varchar │ int64 │ │ varchar │ varchar │ varchar │ int64 │ decimal(9,2) │
├──────────────────────┼─────────────┼──────────────────────┼──────────────────────┼───────────────┼───┼────────────────────┼────────────────────┼────────────────────┼─────────┼─────────────────┤
│ Unique Key │ BIGINT │ 11465364 │ 48478173 │ 1022792 │ … │ 25277477 │ 32850071 │ 40198509 │ 1000000 │ 0.00 │
│ Created Date │ VARCHAR │ 01/01/2010 01:05:5… │ 12/31/2019 12:58:5… │ 920156 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Closed Date │ VARCHAR │ 0 │ 12/31/2019 12:59:0… │ 667996 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Agency │ VARCHAR │ 3-1-1 │ TLC │ 29 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Agency Name │ VARCHAR │ 3-1-1 │ Valuation Policy │ 686 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Complaint Type │ VARCHAR │ ../../WEB-INF/web.… │ ZTESTINT │ 281 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Descriptor │ VARCHAR │ 0 │ unknown odor/taste… │ 1553 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Location Type │ VARCHAR │ 0 │ Wooded Area │ 154 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Incident Zip │ BIGINT │ 0 │ 900836 │ 548 │ … │ 10257 │ 11130 │ 11233 │ 1000000 │ 0.01 │
│ Incident Address │ VARCHAR │ * * │ west 155 street an… │ 333521 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Street Name │ VARCHAR │ * │ wyckoff avenue │ 13987 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Cross Street 1 │ VARCHAR │ 0 │ mermaid │ 14204 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Cross Street 2 │ VARCHAR │ 0 │ surf │ 16003 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Intersection Stree… │ VARCHAR │ 0 │ flatlands AVE │ 11592 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Intersection Stree… │ VARCHAR │ 0 │ glenwood RD │ 12172 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Address Type │ VARCHAR │ 0 │ PLACENAME │ 6 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ City │ VARCHAR │ * │ YORKTOWN HEIGHTS │ 320 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Landmark │ VARCHAR │ 0 │ ZULETTE AVENUE │ 6235 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Facility Type │ VARCHAR │ 0 │ School District │ 6 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Status │ VARCHAR │ Assigned │ Unspecified │ 10 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Due Date │ VARCHAR │ 0 │ 12/31/2018 12:59:2… │ 363080 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Resolution Descrip… │ VARCHAR │ 0 │ Your request was s… │ 1368 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Resolution Action … │ VARCHAR │ 0 │ 12/31/2019 12:58:0… │ 787085 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Community Board │ VARCHAR │ 0 Unspecified │ Unspecified STATEN… │ 74 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ BBL │ BIGINT │ 0 │ 5270000501 │ 380610 │ … │ 853221820 │ 2037638696 │ 3065355908 │ 1000000 │ 0.00 │
│ Borough │ VARCHAR │ BRONX │ Unspecified │ 6 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ X Coordinate (Stat… │ BIGINT │ 0 │ 1067220 │ 108282 │ … │ 988945 │ 1002094 │ 1016317 │ 1000000 │ 0.00 │
│ Y Coordinate (Stat… │ BIGINT │ 0 │ 271876 │ 129370 │ … │ 174194 │ 198211 │ 230113 │ 1000000 │ 0.00 │
│ Open Data Channel … │ VARCHAR │ MOBILE │ UNKNOWN │ 5 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Park Facility Name │ VARCHAR │ "Uncle" Vito F. Ma… │ Zimmerman Playground │ 2016 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Park Borough │ VARCHAR │ BRONX │ Unspecified │ 6 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Vehicle Type │ BIGINT │ 0 │ 0 │ 1 │ … │ 0 │ 0 │ 0 │ 1000000 │ 0.03 │
│ Taxi Company Borough │ BIGINT │ 0 │ 0 │ 1 │ … │ 0 │ 0 │ 0 │ 1000000 │ 0.08 │
│ Taxi Pick Up Locat… │ BIGINT │ 0 │ 0 │ 1 │ … │ 0 │ 0 │ 0 │ 1000000 │ 0.79 │
│ Bridge Highway Name │ BIGINT │ 0 │ 0 │ 1 │ … │ 0 │ 0 │ 0 │ 1000000 │ 0.23 │
│ Bridge Highway Dir… │ BIGINT │ 0 │ 0 │ 1 │ … │ 0 │ 0 │ 0 │ 1000000 │ 0.23 │
│ Road Ramp │ BIGINT │ 0 │ 0 │ 1 │ … │ 0 │ 0 │ 0 │ 1000000 │ 0.23 │
│ Bridge Highway Seg… │ BIGINT │ 0 │ 0 │ 1 │ … │ 0 │ 0 │ 0 │ 1000000 │ 0.24 │
│ Latitude │ DOUBLE │ 0.0 │ 40.9128688 │ 361176 │ … │ 2.436195204049814 │ 40.68400174379871 │ 40.763779548615275 │ 1000000 │ 0.00 │
│ Longitude │ DOUBLE │ -77.5195844 │ 0.0 │ 425806 │ … │ -73.95431355456392 │ -73.89694232795956 │ -13.55940127896103 │ 1000000 │ 0.00 │
│ Location │ VARCHAR │ (40.1123853, -77.5… │ 0 │ 310936 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
├──────────────────────┴─────────────┴──────────────────────┴──────────────────────┴───────────────┴───┴────────────────────┴────────────────────┴────────────────────┴─────────┴─────────────────┤
│ 41 rows 12 columns (10 shown) │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Run Time (s): real 0.511 user 2.972291 sys 0.092939
D load excel;
Run Time (s): real 0.037 user 0.051329 sys 0.001551
D create table t2 as from read_xlsx('output.xlsx');
Run Time (s): real 2.088 user 1.624796 sys 0.274348
Invalid Input Error:
read_xlsx: Failed to parse cell 'N4': Could not convert string 'WILLOUGHBY AVENUE' to DOUBLE
D create table t2 as from read_xlsx('output.xlsx',all_varchar=1,header=1);
100% ▕████████████████████████████████████████████████████████████▏
Run Time (s): real 16.844 user 14.512552 sys 0.502509
D summarize t2;
┌──────────────────────┬─────────────┬──────────────────────┬───────────────────────────────────────────────────────────────┬───────────────┬───────┬───────┬───────┬───────┬───────┬─────────┬─────────────────┐
│ column_name │ column_type │ min │ max │ approx_unique │ avg │ std │ q25 │ q50 │ q75 │ count │ null_percentage │
│ varchar │ varchar │ varchar │ varchar │ int64 │ int32 │ int32 │ int32 │ int32 │ int32 │ int64 │ decimal(9,2) │
├──────────────────────┼─────────────┼──────────────────────┼───────────────────────────────────────────────────────────────┼───────────────┼───────┼───────┼───────┼───────┼───────┼─────────┼─────────────────┤
│ Unique Key │ VARCHAR │ 11465364 │ 48478173 │ 857267 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Created Date │ VARCHAR │ 01/01/2010 01:05:5… │ 12/31/2019 12:58:50 PM │ 920156 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Closed Date │ VARCHAR │ 0 │ 12/31/2019 12:59:00 PM │ 667996 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Agency │ VARCHAR │ 3-1-1 │ TLC │ 29 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Agency Name │ VARCHAR │ 3-1-1 │ Valuation Policy │ 686 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Complaint Type │ VARCHAR │ ../../WEB-INF/web.… │ ZTESTINT │ 281 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Descriptor │ VARCHAR │ 0 │ unknown odor/taste in drinking water (QA6) │ 1553 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Location Type │ VARCHAR │ 0 │ Wooded Area │ 154 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Incident Zip │ VARCHAR │ * │ XXXXX │ 560 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Incident Address │ VARCHAR │ * * │ west 155 street and edgecombe avenue │ 333521 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Street Name │ VARCHAR │ * │ wyckoff avenue │ 13987 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Cross Street 1 │ VARCHAR │ 0 │ mermaid │ 14204 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Cross Street 2 │ VARCHAR │ 0 │ surf │ 16003 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Intersection Stree… │ VARCHAR │ 0 │ flatlands AVE │ 11592 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Intersection Stree… │ VARCHAR │ 0 │ glenwood RD │ 12172 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Address Type │ VARCHAR │ 0 │ PLACENAME │ 6 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ City │ VARCHAR │ * │ YORKTOWN HEIGHTS │ 320 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Landmark │ VARCHAR │ 0 │ ZULETTE AVENUE │ 6235 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Facility Type │ VARCHAR │ 0 │ School District │ 6 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Status │ VARCHAR │ Assigned │ Unspecified │ 10 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Due Date │ VARCHAR │ 0 │ 12/31/2018 12:59:20 PM │ 363080 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Resolution Descrip… │ VARCHAR │ 0 │ Your request was submitted to the Department of Homeless Se… │ 1368 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Resolution Action … │ VARCHAR │ 0 │ 12/31/2019 12:58:00 PM │ 787085 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Community Board │ VARCHAR │ 0 Unspecified │ Unspecified STATEN ISLAND │ 74 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ BBL │ VARCHAR │ 0 │ 5270000501 │ 245925 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Borough │ VARCHAR │ BRONX │ Unspecified │ 6 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ X Coordinate (Stat… │ VARCHAR │ 0 │ 999999 │ 104831 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Y Coordinate (Stat… │ VARCHAR │ 0 │ 271876 │ 120308 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Open Data Channel … │ VARCHAR │ MOBILE │ UNKNOWN │ 5 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Park Facility Name │ VARCHAR │ "Uncle" Vito F. Ma… │ Zimmerman Playground │ 2016 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Park Borough │ VARCHAR │ BRONX │ Unspecified │ 6 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Vehicle Type │ VARCHAR │ 0 │ Green Taxi │ 5 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Taxi Company Borough │ VARCHAR │ 0 │ Staten Island │ 11 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Taxi Pick Up Locat… │ VARCHAR │ 0 │ YORK AVENUE AND EAST 70 STREET │ 1971 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Bridge Highway Name │ VARCHAR │ 0 │ Willis Ave Br - 125th St/1st Ave │ 65 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Bridge Highway Dir… │ VARCHAR │ 0 │ Westbound/To Goethals Br │ 50 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Road Ramp │ VARCHAR │ 0 │ Roadway │ 4 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Bridge Highway Seg… │ VARCHAR │ 0 │ Wythe Ave/Kent Ave (Exit 31) │ 795 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Latitude │ VARCHAR │ 0 │ 40.9128688 │ 325711 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Longitude │ VARCHAR │ -73.7005968 │ 0 │ 309785 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Location │ VARCHAR │ (40.1123853, -77.5… │ 0 │ 310936 │ NULL │ NULL │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
├──────────────────────┴─────────────┴──────────────────────┴───────────────────────────────────────────────────────────────┴───────────────┴───────┴───────┴───────┴───────┴───────┴─────────┴─────────────────┤
│ 41 rows 12 columns │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Run Time (s): real 0.198 user 1.525080 sys 0.021050
C:\d>duckdb122
v1.2.2 7c039464e4
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.D install sheetreader from community;
100% ▕████████████████████████████████████████████████████████████▏
D load sheetreader;
D .timer on
D create table t as from sheetreader('output.xlsx');
100% ▕████████████████████████████████████████████████████████████▏
Run Time (s): real 8.745 user 24.765625 sys 0.609375
D summarize t;
┌──────────────────────┬─────────────┬──────────────────────┬──────────────────────┬───────────────┬───┬────────────────────┬────────────────────┬─────────────────────┬─────────┬─────────────────┐
│ column_name │ column_type │ min │ max │ approx_unique │ … │ q25 │ q50 │ q75 │ count │ null_percentage │
│ varchar │ varchar │ varchar │ varchar │ int64 │ │ varchar │ varchar │ varchar │ int64 │ decimal(9,2) │
├──────────────────────┼─────────────┼──────────────────────┼──────────────────────┼───────────────┼───┼────────────────────┼────────────────────┼─────────────────────┼─────────┼─────────────────┤
│ Unique Key │ DOUBLE │ 11465364.0 │ 48478173.0 │ 972278 │ … │ 25259190.02877627 │ 32850243.751373414 │ 40210190.36758163 │ 1000000 │ 0.00 │
│ Created Date │ VARCHAR │ 01/01/2010 01:05:5… │ 12/31/2019 12:58:5… │ 815306 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Closed Date │ VARCHAR │ 01/01/1900 12:00:0… │ 12/31/2019 12:59:0… │ 736431 │ … │ NULL │ NULL │ NULL │ 1000000 │ 2.86 │
│ Agency │ VARCHAR │ 3-1-1 │ TLC │ 27 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Agency Name │ VARCHAR │ 3-1-1 │ Valuation Policy │ 476 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Complaint Type │ VARCHAR │ ../../WEB-INF/web.… │ ZTESTINT │ 247 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Descriptor │ VARCHAR │ 1 Missed Collection │ unknown odor/taste… │ 1296 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.30 │
│ Location Type │ VARCHAR │ 1-, 2- and 3- Fami… │ Wooded Area │ 144 │ … │ NULL │ NULL │ NULL │ 1000000 │ 23.91 │
│ Incident Zip │ DOUBLE │ 0.0 │ 900836.0 │ 438 │ … │ 10258.567670069237 │ 11136.859451015367 │ 11232.659884603287 │ 1000000 │ 0.01 │
│ Incident Address │ VARCHAR │ * * │ west 155 street an… │ 402568 │ … │ NULL │ NULL │ NULL │ 1000000 │ 17.47 │
│ Street Name │ VARCHAR │ * │ wyckoff avenue │ 10920 │ … │ NULL │ NULL │ NULL │ 1000000 │ 17.48 │
│ Cross Street 1 │ VARCHAR │ 1 AVE │ mermaid │ 13602 │ … │ NULL │ NULL │ NULL │ 1000000 │ 32.04 │
│ Cross Street 2 │ VARCHAR │ 1 AVE │ surf │ 14335 │ … │ NULL │ NULL │ NULL │ 1000000 │ 32.36 │
│ Intersection Stree… │ DOUBLE │ 0.0 │ 5730.0 │ 13 │ … │ 0.0 │ 0.0 │ 0.0 │ 1000000 │ 23.26 │
│ Intersection Stree… │ DOUBLE │ 0.0 │ 2641.0 │ 2 │ … │ 0.0 │ 0.0 │ 0.0 │ 1000000 │ 23.23 │
│ Address Type │ VARCHAR │ ADDRESS │ PLACENAME │ 5 │ … │ NULL │ NULL │ NULL │ 1000000 │ 12.58 │
│ City │ VARCHAR │ * │ YORKTOWN HEIGHTS │ 401 │ … │ NULL │ NULL │ NULL │ 1000000 │ 6.20 │
│ Landmark │ DOUBLE │ 0.0 │ 0.0 │ 1 │ … │ 0.0 │ 0.0 │ 0.0 │ 1000000 │ 8.72 │
│ Facility Type │ VARCHAR │ DSNY Garage │ School District │ 5 │ … │ NULL │ NULL │ NULL │ 1000000 │ 14.55 │
│ Status │ VARCHAR │ Assigned │ Unspecified │ 10 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Due Date │ VARCHAR │ 01/01/2010 01:26:0… │ 12/31/2018 12:59:2… │ 441334 │ … │ NULL │ NULL │ NULL │ 1000000 │ 64.78 │
│ Resolution Descrip… │ VARCHAR │ A DOB violation wa… │ Your request was s… │ 1182 │ … │ NULL │ NULL │ NULL │ 1000000 │ 2.05 │
│ Resolution Action … │ VARCHAR │ 01/01/2010 01:50:4… │ 12/31/2019 12:58:0… │ 610175 │ … │ NULL │ NULL │ NULL │ 1000000 │ 1.51 │
│ Community Board │ VARCHAR │ 0 Unspecified │ Unspecified STATEN… │ 91 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ BBL │ DOUBLE │ 0.0 │ 5270000501.0 │ 255245 │ … │ 895490913.7805636 │ 2037490882.8428972 │ 3065445091.4357324 │ 1000000 │ 0.00 │
│ Borough │ VARCHAR │ BRONX │ Unspecified │ 5 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ X Coordinate (Stat… │ DOUBLE │ 0.0 │ 1067220.0 │ 90189 │ … │ 988948.2958132433 │ 1002107.978648268 │ 1016333.0151309909 │ 1000000 │ 0.00 │
│ Y Coordinate (Stat… │ DOUBLE │ 0.0 │ 271876.0 │ 115328 │ … │ 174165.58611895636 │ 198257.62046094937 │ 230180.98256441913 │ 1000000 │ 0.00 │
│ Open Data Channel … │ VARCHAR │ MOBILE │ UNKNOWN │ 5 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Park Facility Name │ VARCHAR │ "Uncle" Vito F. Ma… │ Zimmerman Playground │ 1855 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Park Borough │ VARCHAR │ BRONX │ Unspecified │ 5 │ … │ NULL │ NULL │ NULL │ 1000000 │ 0.00 │
│ Vehicle Type │ DOUBLE │ 0.0 │ 0.0 │ 1 │ … │ 0.0 │ 0.0 │ 0.0 │ 1000000 │ 0.03 │
│ Taxi Company Borough │ DOUBLE │ 0.0 │ 0.0 │ 1 │ … │ 0.0 │ 0.0 │ 0.0 │ 1000000 │ 0.08 │
│ Taxi Pick Up Locat… │ DOUBLE │ 0.0 │ 0.0 │ 1 │ … │ 0.0 │ 0.0 │ 0.0 │ 1000000 │ 0.79 │
│ Bridge Highway Name │ DOUBLE │ 0.0 │ 0.0 │ 1 │ … │ 0.0 │ 0.0 │ 0.0 │ 1000000 │ 0.23 │
│ Bridge Highway Dir… │ DOUBLE │ 0.0 │ 0.0 │ 1 │ … │ 0.0 │ 0.0 │ 0.0 │ 1000000 │ 0.23 │
│ Road Ramp │ DOUBLE │ 0.0 │ 0.0 │ 1 │ … │ 0.0 │ 0.0 │ 0.0 │ 1000000 │ 0.23 │
│ Bridge Highway Seg… │ DOUBLE │ 0.0 │ 0.0 │ 1 │ … │ 0.0 │ 0.0 │ 0.0 │ 1000000 │ 0.24 │
│ Latitude │ DOUBLE │ 0.0 │ 40.9128688 │ 361176 │ … │ 0.8665401252463881 │ 40.68392392325081 │ 40.76361486182824 │ 1000000 │ 0.00 │
│ Longitude │ DOUBLE │ -77.5195844 │ 0.0 │ 425806 │ … │ -73.95429925066404 │ -73.89697557516627 │ -16.609186543110443 │ 1000000 │ 0.00 │
│ Location │ VARCHAR │ (40.1123853, -77.5… │ (40.9128688, -73.9… │ 381782 │ … │ NULL │ NULL │ NULL │ 1000000 │ 25.47 │
├──────────────────────┴─────────────┴──────────────────────┴──────────────────────┴───────────────┴───┴────────────────────┴────────────────────┴─────────────────────┴─────────┴─────────────────┤
│ 41 rows 12 columns (10 shown) │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Run Time (s): real 0.518 user 2.484375 sys 0.187500