如何在Python中读取特定的列和行?

2024-05-04 07:25:14 发布

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

Timestamp SP DP
20-03-2017 10:00:01 50 60.5
20-03-2017 10:10:00 60 70
20-03-2017 10:40:01 75 80
20-03-2017 11:05:00 44 65
20-03-2017 11:25:01 98 42
20-03-2017 11:50:01 12 99
20-03-2017 12:00:05 13 54
20-03-2017 12:05:01 78 78
20-03-2017 12:59:01 15 89
20-03-2017 13:00:00 46 99
20-03-2017 13:23:01 44 45
20-03-2017 13:45:08 80 39

import csv    

output = []

f = open( 'test.csv', 'r' ) #open the file in read universal mode
for line in f:
    cells = line.split( "," )
    output.append( ( cells[ 0 ], cells[ 1 ] ) ) #since we want the first, second column
print (output)

如何读取特定列和特定行?

期望输出:

我只想要第一列和两行

Timestamp SP
20-03-2017 10:00:01 50
20-03-2017 10:10:00 60

怎么做?


Tags: csvtheintestimportreadoutputline
3条回答

你要用熊猫来读。

import pandas
df = pandas.read_csv("filepath", index_col = 0)

然后您可以通过

df.SP.head(2)

或者

df.ix[:1, 0:2] # first row and column first two column

使用csv模块,然后计算行数(使用^{} function或使用^{}来限制读取量:

import csv

output = []

with open( 'test.csv', 'r', newline='') as f:
    reader = csv.reader(f)
    for counter, row in enumerate(reader):
        if counter > 2:
            # read only the header and first two rows
            break
        output.append(row[:2])

或者使用islice()

import csv
from itertools import islice

with open( 'test.csv', 'r', newline='') as f:
    reader = csv.reader(f)
    output = list(islice((row[:2] for row in reader), 3))

可以使用索引切片。从源代码中读取csv。

from pandas import *

df = read_csv("Name of csv file.")

df2 = df.ix[:1, 0:2]

print df2

试试看。

相关问题 更多 >