我需要用Python打开一个文本文件,然后逐行读取这个Text文件,把它放到一个arrary中。后来我想将该数组中的每个内容写入数据库。 到目前为止,这是我的代码:
#!/usr/bin/python
# -*- coding: utf8 -*-
#importieren der Module
import MySQLdb
import sys
import re # regex
import codecs # utf8 support
# Datei file einlesen
names = []
fo = open("file.txt", "r")
print "Name of file:", fo.name
for line in fo:
line = line.strip()
fo.close()
我该怎么做? 将文本行插入数组的正确命令是什么?
答案 0 :(得分:1)
如果我理解正确,您的文本文件如下所示:
E YD6567 E YD9876 E YD9867 等...
你希望删除" E"只需存储" YD ####"在列表中。你的循环将如下所示:
for line in fo:
names.append(line.replace('E ', '')
"追加" function将项添加到列表中。 "替换"函数将您指定的字符串的任何部分替换为您指定的任何其他部分(在这种情况下,替换" E"没有任何内容,有效地将其从字符串中删除)。
如果您想存储整行(包括" E"),它就像以下一样简单:
for line in fo:
names.append(line)
答案 1 :(得分:-1)
lines = []
with open('file.txt', 'r') as f:
lines = f.readlines()
这应该会为您提供代码中所有行的列表。这假定您的文本文件是多行的,并且不包含单行上的所有文本。如果文本IS在一行上,您可以使用此代码创建行列表。
splitOn = '\n'
fd = open('file.txt', 'r')
lines = fd.read().split(splitOn)
如果有一些其他符号标记行的末尾而不是换行符,则可以将splitOn更改为要拆分字符串的任何字符。