python - 解析文本文件中的值

标签 python regex parsing

我有一个看起来像这样的 .txt file:

id        nm        lat        lon        countryCode
5555555  London    55.876456   99.546231   UK

我需要解析每个字段并将它们添加到 SQLite 数据库中。到目前为止,我已经设法将 id、name 和 countryCode 列传输到我的数据库中,但我正在努力寻找一种解决方案来分别解析每条记录的纬度和经度。

我尝试使用正则表达式,但没有成功。我还考虑过制作一个解析器来检查最后一个非空白字符是否是字母,以确定字符串是纬度而不是经度,但不知道如何正确实现它。我可以使用正则表达式解决它还是应该使用自定义解析器?如果是,怎么办?

最佳答案

你可以像这样用 pandas 做到这一点:

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)

如果有错误的行并且你有能力跳过它们,那么使用这个:

df = pd.read_csv('file_path', sep='\t', error_bad_lines=False)

Read more.

关于python - 解析文本文件中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41294515/

相关文章:

c# - 防止引发异常

python - 在Python中解析HTML数据

python - 日期时间和 utctimetuple()

python - matplotlib 对数曲面图的对数颜色图

JavaScript/jQuery 组合具有相同优先级的数字

python - python 如何处理像 r'([abc])+' 这样的正则表达式

parsing - 这个语法是 LR(1) 而不是 SLR(1)?

java - 压缩/序列化/操作大量数据的有效方法

php - 如果它不包含特定单词,我该如何匹配?

使用Unix解析和打印$ PATH