文章详情页
python对8000行csv添加列
浏览:141日期:2022-07-12 17:13:40
问题描述
想要对已有的8000多列csv,添加2000多列,由于文件过大,不能一次性加载到内存中,所以想一列一列的写入到已有的csv中,试了很多中方法,都不行,请问该怎么解决
问题解答
回答1:按行读入,然后加入这些列啊。CSV一般都是逗号分隔的文本文件,按照文本文件的处理方法处理就行。一般流程就是:1.读入一行2.以逗号切分字符串为数组3.给数组加上你想要的列元素4.以逗号为分隔连接数组5.将这行写入新文件6.一直到文件结尾即可。
回答2:pandas有分块读取,示例代码
import pandas as pdreader = pd.read_csv(’a.csv’, iterator=True)header = Truetry: df = reader.get_chunk(10000) #循环加添新列到df df[’新列’] = ’值’ #把记录追加到新csv df.to_csv(’b.csv’, mode=’a’, index=False, header=header)#文件头只写一次 header = Falseexcept StopIteration: pass
相关文章:
1. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题2. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)3. java - mybatis怎么实现在数据库中有就修改,没有就添加4. MYSQL新建用户设置可以远程访问的问题5. node.js - nodejs和前端JavaScript 字符串处理结果不一样是什么原因?6. angular.js - angularjs的自定义过滤器如何给文字加颜色?7. javascript - 用表单提交两个时间段请求后台返回对应数据时出现的一些问题!8. docker-compose中volumes的问题9. mysql - SQL操作时间的函数?10. docker api 开发的端口怎么获取?
排行榜
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)