python合并csv文件
A. python保存csv文件到桌面
python保存csv文件到桌面:
1、虽然python中有内置模块能够操作csv文件,不过pandas这个第三方库在处理速度和代码编写方面都是优于内置模块了,同时也需要将os模块导入进来判断一下保存csv文件的路径是否存在或者有同名文件。
2、模块导入完成之后要用变量来保存csv文件路径了,然后定义两个空集合,作用是保存列数据,再使用listdir()方法将文件路径里面的所有文件和文件夹都获取到并用for循环迭代。
3、在for循环代码块里面向一个列表对象内添加文件名,然后定义一个参数并赋值为aa,然后将这个变量添加到另一个列表中,循环迭代完毕之后这两个列表内就有数据了。
4、调用zip()函数将这两个列表合并在一起并且使用list()方法再次转为列表,然后用pandas库中的DataFrame()方法将data参数表示的数据源设置为该列表对象,并指定两个列名,最后用to_csv()方法将其保存起来即可。
B. python 读取多个csv文件中某一列,并生成一个新csv文件
csv文件应该是用逗号分隔得才对,否则怎么算作是csv文件。楼主你开玩笑吧。否则你这只是一个普通的文本文件。如果是真正的csv文件,我只说一点,python里面有csv模块,专门处理csv文件。如果是空格分割应该也可以,建议你,看一下python的csv模块的API,蛮简单的代码,其实如果不用的话自己写也可以。不是很复杂。代码片段如下:
defdeal_file(file_in,file_out)
withopen(file_in,'r')asf_in:
withopen(file_out,'w')asf_out:
forlineinf_in:
f_out.write(line.split('')[2]+' ')
之后你可以将所有的输入文件放到一个列表里面,进行迭代调用这个函数就可以了。
C. python 如何把多个文件内容合并到以一个文件
Python编程将多个文件合并,代码如下:
#例子:合并a.txt、b.txt、c.txt合并成d.txt文件
#文件列表,遍于读取
flist = ['a.txt','b.txt','c.txt']
#要写入的文件
ofile = open('d.txt', 'w')
#遍历读取所有文件,并写入到输出文件
for fr in flist:
for txt in open(fr, 'r'):
ofile.write(txt)
ofile.close()
效果如下: