【发布时间】:2017-05-08 18:00:34
【问题描述】:
我有一个 .txt file,看起来像这样:
id nm lat lon countryCode
5555555 London 55.876456 99.546231 UK
我需要解析每个字段并将它们添加到 SQLite 数据库。到目前为止,我已经设法将 id、name 和 countryCode 列转移到我的数据库中,但我正在努力寻找一种解决方案来分别解析每条记录的 lat 和 lon。
我尝试了正则表达式,但没有运气。我还考虑过制作一个解析器来检查最后一个非空白字符是否是字母,以确定字符串是 lat 而不是 lon,但不知道如何正确实现它。我可以使用正则表达式解决它还是应该使用自定义解析器?如果有,怎么做?
【问题讨论】:
-
我想我可能会这样做:stackoverflow.com/questions/8113782/…
-
为什么不直接按空格分割数据行,因为它们的列顺序都相同?您真正需要做的就是逐行执行 id, nm, lat, lon, cc = line.split()
-
您可以使用 pandas 在 1 行中做到这一点。
df = pandas.read_csv('file_path', sep='\t')然后将整个数据框插入到您的 SQLite 数据库中。