上午的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