Python 逐行读取CSV文件
我试图读取一个.csv文件,但遇到了问题。请原谅我,这是一个很好的补救问题: 我正在尝试使用以下命令逐行读取文件:Python 逐行读取CSV文件,python,python-2.7,Python,Python 2.7,我试图读取一个.csv文件,但遇到了问题。请原谅我,这是一个很好的补救问题: 我正在尝试使用以下命令逐行读取文件: with open('Book8.csv') as fp: for line in fp: print line 如果我这样做,我会打印整个文件。像这样: 1,2,3 4,5,6 7,8,9 但是我只想打印中间的一行,所以我把 with open('Book8.csv') as fp: for line in fp: print line[1] 这给了我 �
with open('Book8.csv') as fp:
for line in fp:
print line
如果我这样做,我会打印整个文件。像这样:
1,2,3
4,5,6
7,8,9
但是我只想打印中间的一行,所以我把
with open('Book8.csv') as fp:
for line in fp:
print line[1]
这给了我
�
,
,
作为我的输出
我希望输出为4,5,6。似乎每行中的逗号或[1]字符都被视为该行的一部分。我不知道如何解决这个问题
最后,我要在每一行上做一个正则表达式来搜索每一行中的多个子字符串
例如:
第1行:这里有我想要的文本,文本是:E28,:K31等等
第2行:这里有我想要的文本,文本是:H27,:K12等等
是否可以编写一个正则表达式,为每一行创建一个只包含我感兴趣的文本的列表
例如:列表1=[:E28,:K31]
列表2=[[uu:H27,[u K12]将行存储在列表中并从中打印。readlines为您返回文件中每一行的列表
with open('Book8.csv') as fp:
line = fp.readlines()
print(line[1])
将行存储在列表中,然后从列表中打印。readlines为您返回文件中每一行的列表
with open('Book8.csv') as fp:
line = fp.readlines()
print(line[1])
您正在迭代位置1处的字符串
您正在迭代位置1处的字符串
如前所述,您只希望打印中间行,因此可以使用简单的行计数器实际计算行数,并仅打印中间行
row_count = 0
with open('Book8.csv') as fp:
for line in fp:
if row_count == 1:
print line
row_count+=1
如果存在多行的情况,并且希望打印除第一行和最后一行之外的所有中间行,则可以进一步修改代码
row_count = 0
with open('Book8.csv') as fp:
for line in fp:
if row_count!=0 and row_count!=total_number_of_lines-1:
print line
row_count+=1
如前所述,您只希望打印中间行,因此可以使用简单的行计数器实际计算行数,并仅打印中间行
row_count = 0
with open('Book8.csv') as fp:
for line in fp:
if row_count == 1:
print line
row_count+=1
如果存在多行的情况,并且希望打印除第一行和最后一行之外的所有中间行,则可以进一步修改代码
row_count = 0
with open('Book8.csv') as fp:
for line in fp:
if row_count!=0 and row_count!=total_number_of_lines-1:
print line
row_count+=1
好的,那就是:['4','5','6']['7','8','9']。如果我只想打印[7,8,9],该怎么办?没有next我怎么能得到呢?等等,我回答了我自己的问题:如果行中有“7”:打印行非常感谢!好的,那就是:['4','5','6']['7','8','9']。如果我只想打印[7,8,9],该怎么办?没有next我怎么能得到呢?等等,我回答了我自己的问题:如果行中有“7”:打印行非常感谢!