解析文本文件中的值

Tob*_*asP 3 python regex parsing

我有一个.txt 文件,看起来像这样:

id        nm        lat        lon        countryCode
5555555  London    55.876456   99.546231   UK
Run Code Online (Sandbox Code Playgroud)

我需要解析每个字段并将它们添加到SQLite数据库中.到目前为止,我已经设法将id,name和countryCode列转移到我的数据库中,但我很难找到解决方案来单独解析每个记录的lat和lon.

我尝试使用正则表达式,但没有运气.我还想过让解析器检查最后一个非空白字符是否是一个字母,以确定该字符串是lat而不是lon,但不知道如何正确实现它.我可以使用正则表达式来解决它,还是应该使用自定义解析器?如果是这样,怎么样?

MYG*_*YGz 5

你可以用这样的熊猫来做到这一点:

import pandas as pd
import sqlite3

con = sqlite3.connect('path/new.db')
con.text_factory = str

df = pd.read_csv('file_path', sep='\t')
df.to_sql('table_01', con)
Run Code Online (Sandbox Code Playgroud)

如果有不好的行,你可以跳过它们,那么使用这个:

df = pd.read_csv('file_path', sep='\t', error_bad_lines=False)
Run Code Online (Sandbox Code Playgroud)

阅读更多.