使用Python创建.txt文件的直方图?

时间:2015-05-16 22:39:47

标签: python

这是我试过的代码。它给了我一个突出显示'数据'的语法错误。有帮助吗?如果有任何帮助,.txt文件有4列。

def file():
  file = open('hsp.txt', 'r')
  col = [] data = file.readlines()
  for i in range(1,len(data)-1):
    col.append(int(float(data[i].split(',')[5])))
  return col

def hist(col):
  handspan = []
  for i in range(11):
    handspan.append(0)
  for i in (col):
    handspan[i] += 1
  return handspan

col = file()
handspan = hist(col)
print(col)
print(handspan)

2 个答案:

答案 0 :(得分:4)

这是因为你的行

col = [] data = file.readlines()

应该分为两个部分:

col = []  
data = file.readlines()

答案 1 :(得分:0)

你可以试试这个,它对我有用。 因此它是一个直方图,它产生一个字典。 欢迎更好的答案!

import string
def list_from_file(filename):
    myfile = open(filename, 'r')
    data = myfile.read().split()
    col = []
    for word in data:
        col.append(word)
    return col

def myhist(col):
    hist = {}
    for word in col:
        word = word.lower()
        word = word.strip(string.punctuation + string.whitespace)
        hist[word] = hist.get(word, 0)+1
    return hist

col = list_from_file('em.txt')
colf = myhist(col)
print(colf)