Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 逐行读取CSV文件_Python_Python 2.7 - Fatal编程技术网

Python 逐行读取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] 这给了我 �

我试图读取一个.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]
这给了我

� , , 作为我的输出

我希望输出为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”:打印行非常感谢!