Python 从Excel数据创建结构化列表

Python 从Excel数据创建结构化列表,python,excel,list,format,line,Python,Excel,List,Format,Line,大家好,我正在使用Python2.7.3,我正在尝试构建输出列表,其中数据在每个类别下打印 我的数据是: ('State', 'Heart Disease Death Rate (2007)', 'Motor Vehicle Death Rate (2009)', 'Teen Birth Rate (2009)', 'Adult Smoking (2010)', 'Adult Obesity (2010)') ('Alabama', '235.5', '18.01', '50.7', '21.

大家好,我正在使用Python2.7.3,我正在尝试构建输出列表,其中数据在每个类别下打印

我的数据是:

('State', 'Heart Disease Death Rate (2007)', 'Motor Vehicle Death Rate (2009)', 'Teen Birth Rate (2009)', 'Adult Smoking (2010)', 'Adult Obesity (2010)')

('Alabama', '235.5', '18.01', '50.7', '21.90%', '33.00%')
('Alaska', '147.9', '9.16', '44.5', '20.40%', '25.20%')
('Arizona', '152.5', '12.24', '50.6', '13.50%', '24.70%')
('Arkansas', '221.8', '20.25', '59.3', '22.90%', '30.90%')
('California', '177.9', '8.34', '36.6', '12.10%', '24.70%')
我需要将列表改为:

 'State', 'Heart Disease', Vehicle Death Rate', 'Teen Birth Rate', 'Adult Smoking , 'Adult Obesity

Alabama'        '235.5',        18.01',             '50.7',          '21.90%',        33.00%' 
Alaska,        '147.9',         '9.16',             '44.5',          '20.40%',        25.20% 
Arizona',      '152.5',         '12.24', '           50.6',          '13.50%',       '24.70%'
Arkansas',      '221.8',        '20.25',            '59.3',          '22.90%',       '30.90%'  
以下是我到目前为止的情况:

import csv
import pandas
import string, re

output = []
file1 = []

risk = open('riskfactors.csv', 'r').read() #find the file
reader = csv.reader(risk, delimiter='\t', quotechar='|')


try:
   with open('riskfactors.csv', 'rU') as file1:
    for line in file1:
        cells = line.split(",")
        output.append((cells[0], cells[1], cells[5], cells[7], cells[11], cells[13]))
    for elem in output:
        print(elem)
没有错误

我需要2.7.3,因为这是我使用导入熊猫的唯一方法

我应该怎么做才能正确打印


我觉得我离得很近,我错过了什么?如果您有任何建议,我们将不胜感激。

要将列表打印为格式化字符串,您可以使用string.format函数,该函数允许您使用空格将值填充到指定长度

例如,如果你要

print "{0:<20}".format( "test" )

print“{0:Pandas有CSV解析工具:所以现在你把列表放在顶部(“我的数据读取”),你想把它编译成一个看起来像表的字符串?是的,它已经打印了,只需要把它编译成一个看起来像表的字符串。
outstring = ""
for item in output:
    for cell in item:
        outstring += "{0:<20}  ".format( cell ) #change 20 to whatever you want the column width to be
    outstring += "\n"

print outstring