首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何读取csv文件并打印一些处理后的数据?

如何读取csv文件并打印一些处理后的数据?
EN

Stack Overflow用户
提问于 2015-07-06 07:04:11
回答 1查看 80关注 0票数 0

我在python中读取csv文件时遇到了问题,同时只打印标题/列名,并且没有打印数据。

输出仅包含列名。未打印行值。请帮我解决这个问题。

我的代码在下面.

代码语言:javascript
复制
import csv
import sys
import datetime
import math
import re

f=open('VehicleMaster.csv','r')
try:
    reader=csv.DictReader(f,delimiter=',')
    num=' '
    regx= re.compile('[,-/]')
    for row in reader:
        dt1=row['Date_Registered']
        for xd in dt1.splitlines():
            d,m,y=regx.split(xd)
            dt2=('/'.join((d.zfill(2),m,'20'+y.zfill(2) if len(y)==2 else y)))
            row['Date_Registered']=dt2
            dt3= str(datetime.datetime.strptime(dt2,'%d/%b/%Y').date())
            #print(dt3)
            row['Date_Registered']=dt3![enter image description here][1]
            #print(row)
            print(num, '\t'.join(row))
            if num == ' ':
                    num=0
            num=num+1

输出:-

代码语言:javascript
复制
Workstream_from_AL  Manager work_steam  risk_score  Base    Count   Total_Downtime_Hours    Class   Vehicle_Description C111111 Total_Maint_Costs   Date_Registered smr Workstream  Latest_Mileage  Base_Location   Major_Repair_   Average_Downtime_Hours  Age_in_Months__17_Mar_15_   Status  Ob_Board_Power_ No_of_SMR_Jobs  Reg_Number  down_time   Cost_Centre mileage Workshop    age Date_of_Reading
1 Workstream_from_AL    Manager work_steam  risk_score  Base    Count   Total_Downtime_Hours    Class   Vehicle_Description C111111 Total_Maint_Costs   Date_Registered smr Workstream  Latest_Mileage  Base_Location   Major_Repair_   Average_Downtime_Hours  Age_in_Months__17_Mar_15_   Status  Ob_Board_Power_ No_of_SMR_Jobs  Reg_Number  down_time   Cost_Centre mileage Workshop    age Date_of_Reading
2 Workstream_from_AL    Manager work_steam  risk_score  Base    Count   Total_Downtime_Hours    Class   Vehicle_Description C111111 Total_Maint_Costs   Date_Registered smr Workstream  Latest_Mileage  Base_Location   Major_Repair_   Average_Downtime_Hours  Age_in_Months__17_Mar_15_   Status  Ob_Board_Power_ No_of_SMR_Jobs  Reg_Number  down_time   Cost_Centre mileage Workshop    age Date_of_Reading
3 Workstream_from_AL    Manager work_steam  risk_score  Base    Count   Total_Downtime_Hours    Class   Vehicle_Description C111111 Total_Maint_Costs   Date_Registered smr Workstream  Latest_Mileage  Base_Location   Major_Repair_   Average_Downtime_Hours  Age_in_Months__17_Mar_15_   Status  Ob_Board_Power_ No_of_SMR_Jobs  Reg_Number  down_time   Cost_Centre mileage Workshop    age Date_of_Reading

输入:- Count Reg_Number Status Vehicle_Description Date_Registered Age_in_Months__17_Mar_15_ Latest_Mileage Date_of_Reading No_of_SMR_Jobs Total_Downtime_Hours Average_Downtime_Hours Total_Maint_Costs Major_Repair_ Manager Cost_Centre Ob_Board_Power_ Class Base_Location C111111年龄里程smr C111111 Workshop #en20 20# Base

1 PN57KTE当前-陆上LF45 160d6.0Der 20-5-08 81.92876712 195591 2-Feb-15 30 110.83 3.694333333 14269.36大型起重机维修job 5,093.45作业没有V79166戈登汤普森40001072没有HGV东北卡车和范有限公司Tees -修理1 0维修三轮

1 YP09LFX当前福特中转350 2.4 TDi Der/Man 10 -6月-09 69.23835616 62589 9-3月15日10 169.5 16.95 6166.99新发动机和喷油器10 4,287.57工作没有V81240巴里沃森40001032是LCV Kestrel卡车服务有限公司北泰恩-修理1 0.961643836 1.11E-05 3.548325662 3.941860465 1 9.451841074修理北泰恩1 YP09KZK当前-安道福特中转350 2.4 TDi Der/文民卡车服务有限公司24-09 68.77808219 77171 12 -15 12 40.25 3.354166667 5867.05新引擎05 5,499.87作业编号: V78692 BARRY WATSON 40001032是LCV Howdon North Tyne -维修1 0.955251142 1.11E-05 3.375747986 0.78003876 1 6.111048999修理北台

1 YP09LCL当前福特中转350 2.4 TDi Der/Man 1-7月-09 68.54794521 19-15 10 101.25 10.125 8521.22新引擎£6,450.14工作没有V85143约翰理查德森40001053是LCV詹宁斯有限公司磨损-修理1 0.952054795 1.11E-05 4.902888377 2.354651163 1 9.209605446修复磨损

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-06 09:23:35

之所以发生这种情况,是因为您对其项使用了csv.DictReader - in迭代,您的row变量将是dict类型的实例。当您在dict上迭代(在字符串的join方法中)时,您正在迭代它的键,这是行的名称,而您想要迭代它的值。

因此,您应该将print(num, '\t'.join(row))替换为print(num, '\t'.join(row.values()))

注意:标准的python字典是无序的。我不记得csv模块是否使用OrderedDict或任何类似的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31239571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档