17.从多个文件中连接数据
1.基础python
vi 9csv_read_concat_rows_from_mutiple_files.py
#!/usr/bin/env python3
import csv
import glob
import os
import sys
input_file=sys.argv[1]
output_file=sys.argv[2]
first_file=True
for input_file in glob.glob(os.path.join(input_file,'sales_*')):print(os.path.basename(input_file))with open(input_file,'rb') as csv_in_file:with open(output_file,'ab') as csv_out_file:filereader=csv.reader(csv_in_file)filewriter=csv.writer(csv_out_file)if first_file:for row in filereader:filewriter.writerow(row)first_file=False else:header=next(filereader,None) #None第一个字母必须大写。表示不取头部信息,上面已经取了。for row in filereader:filewriter.writerow(row)
#输出
[root@mysql51 python_scripts]# python 9csv_read_concat_rows_from_mutiple_files.py `pwd` 10output.csv
sales_march_2014.csv
sales_jannary_2014.csv
sales_february_2014.csv[root@mysql51 python_scripts]# more 10output.csv
Customer ID,Customer Name,Invoice Number,Sale Amount,Purchase Date
1234,John Smith,100-0014,"$1,350.00 ",3/4/2014
8765,Tonny Song,100-0015,"$1,167.00 ",3/8/2014
2345,Mary Harrison,100-0016,"$1,789.00 ",3/17/2014
6543,Rachel Paz,100-0017,"$2,042.00 ",3/22/2014
3456,Lucy Gomez,100-0018,"$1,511.00 ",3/28/2014
4321,Susan Wallace,100-0019,"$2,280.00 ",3/30/2014
Customer ID,Customer Name,Invoice Number,Sale Amount,Purchase Date
1234,John Smith,100-0014,"$1,350.00 ",3/4/2014
8765,Tonny Song,100-0015,"$1,167.00 ",3/8/2014
2345,Mary Harrison,100-0016,"$1,789.00 ",3/17/2014
6543,Rachel Paz,100-0017,"$2,042.00 ",3/22/2014
3456,Lucy Gomez,100-0018,"$1,511.00 ",3/28/2014
4321,Susan Wallace,100-0019,"$2,280.00 ",3/30/2014
1234,John Smith,100-0002,"$1,200.00 ",1/1/2014
2345,Mary Harrison,100-0003,"$1,425.00 ",1/6/2014
3456,Lucy Gomez,100-0004,"$1,390.00 ",1/11/2014
4567,Rupert Jones,100-0005,"$1,257.00 ",1/18/2014
5678,Jenny Walters,100-0006,"$1,725.00 ",1/24/2014
6789,Samantha Donadson,100-0007,"$1,995.00 ",1/31/2014
9876,Danniel Farber,100-0008,"$1,115.00 ",2/2/2014
8765,Laney Stone,100-0009,"$1,367.00 ",2/8/2014
7654,Roger Lipney,100-0010,"$2,135.00 ",2/15/2014
6543,Thomas Haines,100-0011,"$1,346.00 ",2/17/2014
5432,Anushka Vaz,100-0012,"$1,560.00 ",2/21/2014
4321,Harriet Cooper,100-0013,"$1,852.00 ",2/25/2014
2.pandas的方法实现。
vi pandas_concat_rows_from_multiple_files.py
#!/usr/bin/env python3
import pandas as pd
import glob
import os
import sys
input_file=sys.argv[1]
output_file=sys.argv[2]
all_files=glob.glob(os.path.join(input_file,'sales_*'))
all_data_frames=[] #将读取的文件放在列表中
for file in all_files:data_frame=pd.read_csv(file,index_col=None)all_data_frames.append(data_frame)
data_frame_concat=pd.concat(all_data_frames,axis=0,ignore_index=True)
data_frame_concat.to_csv(output_file,index=False)#结果
python C:\Users\4201.HJSC\PycharmProjects\pythonProject\pandas_concat_rows_from_multiple_files.py \
C:\Users\4201.HJSC\Desktop\Python_exercise\ \
C:\Users\4201.HJSC\Desktop\Python_exercise\13output.csvmore 13output.csv
Customer ID,Customer Name,Invoice Number,Sale Amount,Purchase Date
9876,Danniel Farber,100-0008,"$1,115.00 ",2/2/2014
8765,Laney Stone,100-0009,"$1,367.00 ",2/8/2014
7654,Roger Lipney,100-0010,"$2,135.00 ",2/15/2014
6543,Thomas Haines,100-0011,"$1,346.00 ",2/17/2014
5432,Anushka Vaz,100-0012,"$1,560.00 ",2/21/2014
4321,Harriet Cooper,100-0013,"$1,852.00 ",2/25/2014
1234,John Smith,100-0002,"$1,200.00 ",1/1/2014
2345,Mary Harrison,100-0003,"$1,425.00 ",1/6/2014
3456,Lucy Gomez,100-0004,"$1,390.00 ",1/11/2014
4567,Rupert Jones,100-0005,"$1,257.00 ",1/18/2014
5678,Jenny Walters,100-0006,"$1,725.00 ",1/24/2014
6789,Samantha Donadson,100-0007,"$1,995.00 ",1/31/2014
1234,John Smith,100-0014,"$1,350.00 ",3/4/2014
8765,Tonny Song,100-0015,"$1,167.00 ",3/8/2014
2345,Mary Harrison,100-0016,"$1,789.00 ",3/17/2014
6543,Rachel Paz,100-0017,"$2,042.00 ",3/22/2014
3456,Lucy Gomez,100-0018,"$1,511.00 ",3/28/2014
4321,Susan Wallace,100-0019,"$2,280.00 ",3/30/2014
3.总结
#axis=0 数据垂直。axis=1 数据平行分布
#pd.concat 连接数据。
#pd.merge(DataFrame1,DataFrame2,on='key',how='inner') #可以使用这种方法连接。
17.从多个文件中连接数据相关推荐
- POI:从Excel文件中读取数据,向Excel文件中写入数据,将Excel表格中的数据插入数据库,将数据库中的数据添加到Excel表
POI 简介: POI是Apache软件基金会用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能. ...
- python导入txt文件并绘图-Python实现读取txt文件中的数据并绘制出图形操作示例
本文实例讲述了Python实现读取txt文件中的数据并绘制出图形操作.分享给大家供大家参考,具体如下: 下面的是某一文本文件中的数据. 6.1101,17.592 5.5277,9.1302 8.51 ...
- bulkwrite 批量插入_SQL SERVER 使用BULK Insert将txt文件中的数据批量插入表中(1)
1/首先建立数据表 CREATE TABLE BasicMsg ( RecvTime FLOAT NOT NULL , --接收时间,不存在时间相同的数据 AA INT NOT NULL, --24位 ...
- mfc从文件中读取数据_Python 中的 bytes、str 以及 unicode 区别
从Python发展历史谈起 Python3和Python2表示字符序列的方式有所不同. Python3字符序列的两种表示为byte和str.前者的实例包含原始的8位值,即原始的字节:后者的实例包括Un ...
- 用python读取txt文件中的数据并画各类图形展示_Python实现读取txt文件中的数据并绘制出图形操作示例...
本文实例讲述了Python实现读取txt文件中的数据并绘制出图形操作.分享给大家供大家参考,具体如下: 下面的是某一文本文件中的数据. 6.1101,17.592 5.5277,9.1302 8.51 ...
- C++从文件中读取数据,打印(追加打印)至文件
无论读取还是打印,都需要在开始引入<fstream>头文件,我们需要用到里面的对于文件的函数操作. 文件读取 首先来说从文件中读取.我们定位文件所在具体位置,指向目标文件,这里的myfil ...
- 安卓学习专栏——从文件中读取数据、openFileInput(图文+代码)
步骤 系列文章 前言 1.实现效果 1.1启动时初始化填写读取的数据,或是点击读取显示数据 1.2保存新数据 1.3点击读取按钮读取数据 1.4重启查看效果 2.xml外观文件 3.java功能文件 ...
- matlab引用数据,excel引用数据-如何用matlab处理excel文件中的数据?
如何利用matlab根据excel表格里面的数据画图 将待导入的矩阵结数据Excel中,录入时注意行列原矩阵一一对应 录入完以后数据,为了后续步骤使用方便,命名时我们最好把它命名为我们接下来在MATL ...
- 向HBase中导入数据3:使用MapReduce从HDFS或本地文件中读取数据并写入HBase(增加使用Reduce批量插入)
前面我们介绍了: 向HBase中导入数据1:查询Hive后写入 向HBase中导入数据2:使用MapReduce从HDFS或本地文件中读取数据并写入HBase(只使用Map逐条查询) 为了提高插入效率 ...
- 教你如何用 Lua 操作文件中的数据
了解 Lua 如何处理数据的读写. 有些数据是临时的,存储在 RAM 中,只有在应用运行时才有意义.但有些数据是要持久的,存储在硬盘上供以后使用.当你编程时,无论是简单的脚本还是复杂的工具套件,通常都 ...
最新文章
- 解释@Component @Controller @Service @Repository
- 赶集网人事调整:三月内两副总离职
- php中的变量函数,PHP中的一些路径变量或函数
- Morris Traversal
- Windows系统卸载MySQL
- OCR文本检测模型—CTPN
- 人工智能降噪PS插件 Topaz DeNoise AI
- word公式编辑器出错及交叉引用问题
- 如何查看linux的系统配置,多少个核心,多少个线程?CPU的主频 查看内存
- 前置音频线接法图解(最全图解)
- MySQL Key的含义
- Linux下脚本编写局域网扫描工具
- 【学习笔记】Splay
- 什么是java线程?java线程模型的组成
- 《 线性代数及其应用 (原书第4版)》——1.5 线性方程组的解集
- 摘自【北京迅为】itop-3568开发板快速启动手册 第二章 Windows安装串口终端
- 朝花夕拾 - jsliang 基金定投 1 年分享
- 听说你还在为海量数据构建不同数据仓库?华为云学院 DataLake了解一下!
- 【AI】模仿AI软件使用脚本合图
- html瀑布流布局原理,css 实现瀑布流布局效果