Python:用'|'解析文本文件到MySql表

时间:2011-11-29 06:29:10

标签: python parsing extract text-files

我有一个文本文件,其结构如下:

341|18 Hello world|20090225230048AAnhStI|90|$0.30|10|289|2|2|2|Is that foo or 
boo bar?  18 |Is it boo foo and foo bar?|    |I beleive its foo.|396545163|foo 
& bar>foo & boo

基本上每个数据元素由|分隔。我打算使用Python脚本来解析这些数据并将其写入表中。根据我从互联网上收集的信息,我无法利用Python的制表符分隔符或逗号分隔选项将此类文件导入MySql数据库。

  • 我错了吗?
  • 如果是这样,做这样的事情最好的选择是什么?

我的想法是创建一个表并仅提取我想从上面的字符串中提取的元素,以将其存储在每一列中。但是,我也想知道如何跟踪要提取的内容。迭代每个元素时,我是否使用计数器..?

在我继续之前,我以为我会问这些问题。

我目前的直觉是做以下事情:

import sys

file = open('datafile.txt')
for line in file:
    print line.strip().split('|') 

1 个答案:

答案 0 :(得分:3)

您当前的代码没问题。您还可以使用csv.reader

import csv
with open('datafile.txt', 'rb') as f:
    for row in csv.reader(f, delimiter='|'):
        ...