我正在尝试从txt文件在Python 2.7中创建一组股票行情收录器。txt文件每行仅具有1个标记,例如:
SRCE
ABTX
AMBC
ATAX
我正在使用的代码如下所示:
FinTick= []
def parseRus():
try:
readFile=open(r'filename.txt','r').read()
splitFile=readFile.split('\n')
FinTick.append(splitFile)
print FinTick
except Exception, e:
print str(e)
当我调用“ parseRus()”时,我得到的输出看起来像:
'\xff\xfeS\x00R\x00C\x00E\x00\r\x00', '\x00A\x00B\x00T\x00X\x00\r\x00', '\x00A\x00M\x00B\x00C\x00\r\x00', '\x00A\x00T\x00A\x00X\x00\r\x00'
存在正确的字母,但不是以平面文字打印。我使用了其他两种逻辑方法来填充数组,但仍然获得相同的输出格式。
>>> tickers = []
>>> with open("filename.txt", "r") as f:
for ticker in f.readlines():
tickers.append(ticker.strip())
>>> tickers
['SRCE', 'ABTX', 'AMBC', 'ATAX']
尝试使用readlines()
和strip()
代替。
编辑:f.readlines()
和周围的一些清晰度strip()
:
>>> with open("filename.txt", "r") as f:
print(f.readlines())
['SRCE\n', 'ABTX\n', 'AMBC\n', 'ATAX']
因此,当我们遍历所list
返回的对象时f.readlines()
,我们将需要去除换行符\n
。使用类型的strip()
方法str
来执行此操作。
编辑2:@Eli是正确的。我们也可以使用for ticker in f
代替for ticker in f.readlines()
。
>>> tickers = []
>>> with open("filename.txt", "r") as f:
for ticker in f:
tickers.append(ticker.strip())
>>> tickers
['SRCE', 'ABTX', 'AMBC', 'ATAX']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句