如何读取文本文件并转换为列表以供Python中的统计数据包使用

问题描述 投票:0回答:1

我到目前为止正在运行的代码如下

import os
import math
import statistics
def main ():
    infile = open('USPopulation.txt', 'r')
    values = infile.read()
    infile.close()
    index = 0
    while index < len(values):
        values(index) = int(values(index))
        index += 1
    print(values)
main()

The text file contains 41 rows of numbers each entered on a single line like so:
151868
153982
156393
158956
161884
165069
168088
etc.

我的任务是创建一个显示该时间段内人口平均变化的程序。在此期间人口增长最大的年份。在这段时间内人口增长最少的年份(与上一年相比)。

该代码将在一行上打印每个文本文件条目,但是在尝试转换为int以与统计信息包一起使用时,出现以下错误:

值(索引)=整数(值(索引))

SyntaxError:无法分配给函数调用

values(index)= int(values(index))行是从读取以及堆栈溢出资源中获取的。

python python-3.7
1个回答
0
投票

我个人将使用numpy读取文本文件。

就您而言,我会这样:

import numpy as np

values= np.loadtxt('USPopulation.txt')
print(values)

0
投票

您可以将values = infile.read()更改为values = list(infile.read())它将以列表而不是字符串的形式输出。

并且您拥有的while循环可以轻松地替换为for循环,在该循环中,您将使用len(values)作为结尾。

values(index) = int(values(index))部分是在while循环中实现的一种不错的方法,但是每当在for循环中,您都可以使用values[i] = int(values[i])将它们转换为整数,然后values成为整数列表。

© www.soinside.com 2019 - 2024. All rights reserved.