在处理很大的文件时,可能希望只读取文件的一小部分或逐块对文件进行迭代
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)