read_csv()读取文件

1.python读取文件的几种方式

read_csv 从文件,url,文件型对象中加载带分隔符的数据。默认分隔符为逗号

read_table 从文件,url,文件型对象中加载带分隔符的数据。默认分隔符为制表符(“\t”)

read_fwf 读取定宽列格式数据(也就是没有分隔符)

read_cliboard 读取剪切板中的数据,可以看做read_table的剪切板。在将网页转换为表格时很有用

2.读取文件的简单实现

程序代码:

df=pd.read_csv('D:/project/python_instruct/test_data1.csv')

print('用read_csv读取的csv文件:', df)

df=pd.read_table('D:/project/python_instruct/test_data1.csv', sep=',')

print('用read_table读取csv文件:', df)

df=pd.read_csv('D:/project/python_instruct/test_data2.csv', header=None)

print('用read_csv读取无标题行的csv文件:', df)

df=pd.read_csv('D:/project/python_instruct/test_data2.csv', names=['a', 'b', 'c', 'd', 'message'])

print('用read_csv读取自定义标题行的csv文件:', df)

names=['a', 'b', 'c', 'd', 'message']

df=pd.read_csv('D:/project/python_instruct/test_data2.csv', names=names, index_col='message')

print('read_csv读取时指定索引:', df)

parsed=pd.read_csv('D:/project/python_instruct/test_data3.csv', index_col=['key1', 'key2'])

print('read_csv将多个列做成一个层次化索引:')

print(parsed)

print(list(open('D:/project/python_instruct/test_data1.txt')))

result=pd.read_table('D:/project/python_instruct/test_data1.txt', sep='\s+')

print('read_table利用正则表达式处理文件读取:')

print(result)

输出结果:

用read_csv读取的csv文件:

a b c d message

0 1 2 3 4 hello

1 5 6 7 8 world

2 9 10 11 12 foo

用read_table读取csv文件:

a b c d message

0 1 2 3 4 hello

1 5 6 7 8 world

2 9 10 11 12 foo

用read_csv读取无标题行的csv文件:

0 1 2 3 4

0 1 2 3 4 hello

1 5 6 7 8 world

2 9 10 11 12 foo

用read_csv读取自定义标题行的csv文件:

a b c d message

0 1 2 3 4 hello

1 5 6 7 8 world

2 9 10 11 12 foo

read_csv读取时指定索引:

a b c d

message

hello 1 2 3 4

world 5 6 7 8

foo 9 10 11 12

read_csv将多个列做成一个层次化索引:

value1 value2

key1 key2

one a 1 2

b 3 4

c 5 6

d 7 8

two a 9 10

b 11 12

c 13 14

d 15 16

[' A B C \n', 'aaa -0.26 -0.1 -0.4\n', 'bbb -0.92 -0.4 -0.7\n', 'ccc -0.34 -0.5 -0.8\n', 'ddd -0.78 -0.3 -0.2']

read_table利用正则表达式处理文件读取:

A B C

aaa -0.26 -0.1 -0.4

bbb -0.92 -0.4 -0.7

ccc -0.34 -0.5 -0.8

ddd -0.78 -0.3 -0.2

3.分块读取大型数据集

先看代码:

reslt=pd.read_csv('D:\project\python_instruct\weibo_network.txt')

print('原始文件:', result)

输出:

Traceback (most recent call last):

File "", line 1, in runfile('D:/project/python_instruct/Test.py', wdir='D:/project/python_instruct')

File "D:\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile

execfile(filename, namespace)

File "D:\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile

exec(compile(f.read(), filename, 'exec'), namespace)

File "D:/project/python_instruct/Test.py", line 75, in reslt=pd.read_csv('D:\project\python_instruct\weibo_network.txt')

File "D:\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 562, in parser_f

return _read(filepath_or_buffer, kwds)

File "D:\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 325, in _read

return parser.read()

File "D:\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 815, in read

ret = self._engine.read(nrows)

File "D:\Anaconda3\lib\site-packages\pandas\io\parsers.py", line 1314, in read

data = self._reader.read(nrows)

File "pandas\parser.pyx", line 805, in pandas.parser.TextReader.read (pandas\parser.c:8748)

File "pandas\parser.pyx", line 827, in pandas.parser.TextReader._read_low_memory (pandas\parser.c:9003)

File "pandas\parser.pyx", line 881, in pandas.parser.TextReader._read_rows (pandas\parser.c:9731)

File "pandas\parser.pyx", line 868, in pandas.parser.TextReader._tokenize_rows (pandas\parser.c:9602)

File "pandas\parser.pyx", line 1865, in pandas.parser.raise_parser_error (pandas\parser.c:23325)

CParserError: Error tokenizing data. C error: out of memory

发现数据集大得已经超出内存。我们可以读取几行看看,如前10行:

result=pd.read_csv('D:\project\python_instruct\weibo_network.txt', nrows=10)

print('只读取几行:')

print(result)

输出结果:

0 0\t296\t3\t1\t10\t1\t12\t1\t13\t1\t14\t1\t16\t...

1 1\t271\t8\t1\t17\t1\t22\t1\t31\t0\t34\t1\t6742...

2 2\t158\t0\t0\t5\t1\t10\t1\t11\t1\t13\t1\t16\t0...

3 3\t413\t0\t1\t5\t1\t194\t1\t354\t1\t3462\t1\t8...

4 4\t142\t1\t0\t5\t1\t7\t1\t11\t1\t14\t1\t18\t1\...

5 5\t272\t2\t1\t3\t1\t4\t1\t12\t1\t13\t1\t14\t1\...

6 6\t59\t9\t1\t13\t1\t46991\t0\t66930\t0\t85672\...

7 7\t131\t4\t1\t11\t1\t20\t1\t24\t1\t26\t0\t30\t...

8 8\t326\t0\t0\t1\t1\t12\t1\t13\t1\t17\t1\t19\t1...

9 9\t12\t0\t0\t6\t1\t10\t1\t13\t1\t18\t0\t466527...

python panda读取csv_python pandas 中文件的读写——read_csv()读取文件相关推荐

  1. 【Python基础】在pandas中利用hdf5高效存储数据

    1 简介 HDF5(Hierarchical Data Formal)是用于存储大规模数值数据的较为理想的存储格式. 其文件后缀名为h5,存储读取速度非常快,且可在文件内部按照明确的层次存储数据,同一 ...

  2. Python应用实战-在pandas中利用hdf5高效存储数据

    1 简介 HDF5(Hierarchical Data Formal)是用于存储大规模数值数据的较为理想的存储格式. 其文件后缀名为h5,存储读取速度非常快,且可在文件内部按照明确的层次存储数据,同一 ...

  3. java 操作 word 表格和样式,java读取word表格中的表格 java如何读取word中的excel表格数据...

    Java 利用poi 可以直接读取word中的表格保持样式生1.读取word 2003及word 2007需要的jar包 读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi ...

  4. python dataframe函数_python pandas中DataFrame类型数据操作函数的方法

    这篇文章主要介绍了关于python pandas中DataFrame类型数据操作函数的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 python数据分析工具pandas中Data ...

  5. 【Python基础】在pandas中使用pipe()提升代码可读性

    1 简介 我们在利用pandas开展数据分析时,应尽量避免过于「碎片化」的组织代码,尤其是创建出过多不必要的「中间变量」,既浪费了「内存」,又带来了关于变量命名的麻烦,更不利于整体分析过程代码的可读性 ...

  6. 【Python基础】在pandas中使用数据透视表

    文章来源于Python大数据分析,作者朱卫军 什么是透视表? 经常做报表的小伙伴对数据透视表应该不陌生,在excel中利用透视表可以快速地进行分类汇总,自由组合字段聚合计算,而这些只需要拖拉拽就能实现 ...

  7. python column stack_Python基础 | pandas中dataframe的整合与形变(merge reshape)

    [toc] 本文示例数据下载,密码:vwy3 import pandas as pd # 数据是之前在cnblog上抓取的部分文章信息 df = pd.read_csv('./data/SQL测试用数 ...

  8. 有选择读取word表格中的数据并写入excel文件中

    最近学院要举行科技报告会活动,许多同学积极参与,交了许多报名表到我这里,而我需要将这些信息进行汇总,整理出一个excel表格,看着一个个word文件放在我的工作文件夹中头发发麻,这一个个的整理好麻烦, ...

  9. python panda用法_Python Pandas用法入门

    简介 首先pandas是基于numpy进行开发的. Pandas 的主要数据结构是 Series(一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融.统计.社会科学.工程等领域里 ...

最新文章

  1. Python学习之continue
  2. MOSS2007 无法上传超过30M或者50M的大文件解决办法 (转)
  3. 不使用加减乘除符号计算加法
  4. 属性被分为八大类不包括_Python语言---私有属性
  5. java以目标尺寸按原图片像素比缩放切割图片
  6. [转载] python中实现矩阵乘法
  7. codeforces 679B
  8. 让Latex支持中文
  9. cad残留卸载清理工具,强力清理CAD注册表残留
  10. MATLAB模糊控制算法,驾驶员制动意图识别,Fuzzy模糊控制算法
  11. Flash键盘钢琴谱
  12. 计算机硬盘的容量的最小,计算机硬盘容量大小怎么计算
  13. 【Lua杂谈】debug.getinfo源码分析——使用C API重写lfunctimer
  14. OSChina 十一乱弹 —— 前女友 is Null
  15. VRay Next for SketchUp 赋予材质常见问题
  16. AI基础:入门人工智能必看的论文
  17. 在vue中使用videoJs实现前端视频流
  18. ecshop系统下载
  19. LSM树的基本原理-学习笔记
  20. (三)模仿学习-Action数据的模仿

热门文章

  1. MIT_18.03_微分方程_Laplace_Transform_拉普拉斯变换_Notes
  2. 合并两个无序数组java_Java实现十大排序算法(上)
  3. 使用示例_在Unity中使用ComputeShader示例
  4. 【控制】二阶 UGV 的 时间-输入 指标性能最优解算
  5. 【控制】《复杂运动体系统的分布式协同控制与优化》-方浩老师-目录
  6. FPGA篇(九)关于ASCII码
  7. 【CIC滤波器】基于MATLAB/FPGA的数字CIC滤波器的设计
  8. 二十一、SPI设备驱动及应用(二)
  9. Dubbo 线上调服务方法空指针问题
  10. 分布式系统开发——调度技术