Python CSV文件操作

2024-06-16 14:39:51 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是一个CSV文件的小片段,我正试图操作它,CSV中的每一行都是一个字符串:

"address,bathrooms,bedrooms,built,lot,saledate,sale price,squarefeet"
"1116 Fountain St, Ann Arbor, MI Real Estate",2,4,1949,0.62 ac,20140905,469900,"1,910"
"3277 Chamberlain Cir, Ann Arbor, MI Real Estate",3,3,2002,0.32 ac,20140905,315000,"1,401"
"2889 Walnut Ridge Dr, Ann Arbor, MI Real Estate",4,4,2005,0.50 ac,20140904,790000,"3,972"
"1336 Nottington Ct, Ann Arbor, MI Real Estate",3,3,2002,,20140904,332350,"1,521"
"344 Sedgewood Ln # 14, Ann Arbor, MI Real Estate",,,,"6,534",20140904,345000,
"545 Allison Dr, Ann Arbor, MI Real Estate",2,2,,0.29 ac,20140904,159900,"1,400"

我想把每一行都列成一个列表,这样分开:

[“1116 Fountain St,Ann Arbor,MI Real Estate”,1949年2月4日,0.62,20140905469900,1910]

我希望第一项(地址)是一个字符串,其余的是整数和浮点。 我之所以把0.62加粗是因为我想用0.62代替0.62ac。 我试着把每一行分开,但是线.分割(',')不起作用,因为地址中包含两个逗号,我也会拆分它。有更简单的方法吗?在

如有任何建议,我将不胜感激。在

谢谢。在


Tags: 文件csv字符串address地址realacst
1条回答
网友
1楼 · 发布于 2024-06-16 14:39:51

首先,使用csv module。它将为您处理带引号的字段,如果该字段包含嵌入逗号,则不会将其拆分。在

import csv

with open('input.csv') as f:
    reader = csv.reader(f)
    next(reader)   # thow away the header
    for row in reader:
        print row

生产

^{pr2}$

因此您可以看到CSV阅读器正确地处理字段。接下来需要将字段转换为int和float。在

相关问题 更多 >