Python CSV读作一个大lin

2024-05-29 10:59:32 发布

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

我是Python新手,正在学习教程,这里有一行假设从.csv文件中读取并跳过第一行(标题):

data = open("banklist.csv", "r").readlines()[1:]
for entry in data:
  #do some stuffs

问题是,它甚至没有进入循环。删除open语句中的[1:]并添加打印数据,我发现csv似乎被读取为一个大行,而删除头则删除了所有内容:

^{pr2}$

我该怎么做?在


Tags: 文件csvin标题fordata教程some
1条回答
网友
1楼 · 发布于 2024-05-29 10:59:32

您正在读取的文本文件使用了与系统不同的换行约定;\r,您的系统可能需要\n或{}。在

您可以使用通用换行符支持而不是使用'rU'模式打开文件:

data = open("banklist.csv", "rU").readlines()[1:]

跳过第一行的更聪明的方法是将文件用作迭代器;直接循环它。next()方法允许您一次抓取一行,从而提供一种跳过第一行的方法:

^{pr2}$

但是,如果这是一个CSV文件,请使用csv模块读取数据:

^{3}$

CSV模块为您处理将行拆分为列表:

['First National Bank also operating as The National Bank of El Paso', 'Edinburg', 'TX', '14318', '13-Sep-13', '18-Sep-13']
["The Community's Bank", 'Bridgeport', 'CT', '57041', '13-Sep-13', '17-Sep-13']
['Sunrise Bank of Arizona', 'Phoenix', 'AZ', '34707', '23-Aug-13', '11-Sep-13']
['Community South Bank', 'Parsons', 'TN', '19849', '23-Aug-13', '5-Sep-13']
['Bank of Wausau', 'Wausau', 'WI', '35016', '9-Aug-13', '4-Sep-13']
['First Community Bank of Southwest Florida (also operating as Community Bank of Cape Coral)', 'Fort Myers', 'FL', '34943', '2-Aug-13', '26-Aug-13']
# etc.

相关问题 更多 >

    热门问题