在处理很大的文件时,可能希望只读取文件的一小部分或逐块对文件进行迭代

result = pd.read_csv('ex6.csv')

在读取时,可以通过nrows指定读取的行数

pd.read_csv('ex6.csv', nrows=5)

要逐块读取文件,需要设置chunksize

chunker = pd.read_csv('ex6.csv', chunksize=1000)

read_csv返回的TextParser对象可以根据chunksize对文件进行逐块迭代

chunker = pd.read_csv('ex6.csv', chunksize=1000)

tot = Series([])
for piece in chunker:
    tot = tot.add(piece['key'].value_counts(), fill_value=0)

tot = tot.order(ascending=False)

数据可以被输出为分隔符格式的文本

data = pd.read_csv('ex5.csv')
data.to_csv('out.csv')

将数据写出到sys.stdout

data.to_csv(sys.stdout, sep='|')

缺失值在输出结果中会表示为空字符串,如果希望将其表述为其他标记

data.to_csv(sys.stdout, na_rep='NULL')

默认会写出行和列的标签,当然也可以将它们禁用

data.to_csv(sys.stdout, index=False, header=False)

也可以只写出一部分的列,并以指定的顺序排列

data.to_csv(sys.stdout, index=False, columns=['a', 'b', 'c'])

Series也有to_csv方法

dates = pd.date_range('1/1/2000', periods=7)
ts = Series(np.arange(7), index=dates)
ts.to_csv('tseries.csv')
!cat tseries.csv

虽然可以使用read_csv对Series读取(只做稍微操作),也可以使用Series的方法

Series.from_csv('tseries.csv', parse_dates=True)

results matching ""

    No results matching ""