Skip to main content

Things I Learned: Using Datasette with csvs-to-sqlite on Windows!

 I finally got csvs-to-sqlite to work on the Windows machine here! You might remember that the 12, 10, and 8 year-old gang and I had been unable to coerce the utility into working. That was OK because with our workarounds, we could use it on Github Codespaces, so we were still up and running an instance of Datasette that served our ham radio QSOs. It was also really ok, because with the experience we gained, when one of the gang saw a OneSchema hiring banner hanging in a window overlooking the alley where our favorite pub is located, they immediately knew what the company did, and made sure to point it to me. This led to us checking out their website, and discussing even more of the vagaries of csv files and jobs in the tech industry over our lunch. Unschooling works!

Today, I found a way! First, I re-read my original post. I changed our pandas install back to 1.5.0 as the post instructs. I got further. The utility errored out because it was upset about the number of columns named in the first line of the csv file not matching up with the number of fields in some of the rows.



I tried to remove the column names. Then, the utility no longer errored out, it just ignored the entire file. Easier on the eyes, but still not useful:



Then! I read this solution on StackOverflow. Apparently you can hint pandas into doing the right thing. I put the column headings back. I then made the first two rows of data have the same number of columns as the header even though their fields were empty.


Notice that the third row goes right back to my usual shenanigans of missing data. It worked though! It worked! Pandas was convinced that the column headers were ok, and read in the file.




Comments

Popular posts from this blog

How Many Files Can You Add to a GPT Project? An Interview with GPT-5 on Limits, Context Engineering Tips, and Chats

 Setting the scene: I’m tinkering with Project TouCans, knee-deep in radio logs, SQLite dumps, and Cesium code. Naturally, I’m wondering if shoving all this into one GPT Project is a recipe for brilliance… or for disaster. So I turn to Vril — you know, after Brainy from the Legion of Super-Heroes , because what else do you call your AI sidekick who always has the answers? Time to ask him straight up. [ As an aside, yes, GPT-5 has decided to sometimes call me Vail. I'm not sure why to be honest. Also, I asked Vril, er GPT-5, to write up our interview for me. Apparently, me asking it to 'Bro' up a few stories, just for fun, has convinced Vril that I use 'Like,' more than I actually might. ] Me (Vail): So Vril, how many files can I throw into a GPT Project before it just starts choking? Like, is there some magic number where the context window taps out and everything falls apart? GPT-5 (Vril): Great question. There’s no single hard file limit. What matters is ...

The Alcubierre Warp Drive Tophat Function and Open Science with Sage

I transferred yesterday's Mathematica file with the Alcubierre warp drive[2] line element and space curvature calculations to the  +Sage Mathematical Software System  today, (the files been  added to the public repository [3]).  If you haven't used Sage before, it's a Python based software package that's similar in functionality to Mathematica.  Oh, and it' free.  I also worked a little more on understanding the theory, but frankly, I made far more progress with the software than the theory.  What follows will be a little more of the Alcubierre theory, plus, a cool Sage interactive demo of one of the Alcubierre functions[1], as well as a bit about my first experience with using Sage. Theory The theory is fun, but it's moving slowly.  Here's the chalk board from this morning's discussion Alcubierre setup the derivation using something called the 3+1 formalism which means we consider space to be flat, (in this case), slices that are labelled ...

When Codex CLI Met Port 9 (Debugging WinError 10061 in a Whisper Pipeline)

When Port 9 Ate My Transcript When Port 9 Ate My Transcript A small debugging story about proxies, Codex CLI, and why localhost isn’t always your friend. CopaseticFlow field notes WinError 10061 Codex CLI + Whisper Environment gremlins There’s a particular kind of bug that feels like someone's been messing with your network stack again. You run a script from cmd.exe . It works. You run the exact same script from Codex CLI. It stops with: [WinError 10061] No connection could be made because the target machine actively refused it FFmpeg happily splits the audio. The Whisper API call dies immediately. No 401. No timeout. Just an instant refusal. Translation: that’s not an API error. That’s a socket being rejected. ...