Python: анализировать текстовый файл с помощью '|' в таблицу MySql - PullRequest
1 голос
/ 29 ноября 2011

У меня есть текстовый файл, который имеет следующую структуру:

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 Ответ

3 голосов
/ 29 ноября 2011

Ваш текущий код в порядке. Вы также можете использовать csv.reader :

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