python-3.x - 将csv列中的一行拆分为多行,在python中保持其他列相同
问题描述
假设我有一个每行 4 列的 csv 文件,如下所示:
712,713,714, 26 blah blah
我想要这样的结果:
712 26 blah blah
713 26 blah blah
714 26 blah blah
现在我将在 python 中读取 csv 文件,但是如何在不更改其他列的情况下拆分行,然后将结果写入另一个 csv 文件。
ps-我不知道熊猫所以我会使用简单的 csv 模块
解决方案
直接用csv.reader
andcsv.writer
对象:
样品test.csv
:
712,713,714, 26 blah blah
1,2,3, 11 aaa bbb
import csv
inp_fname = 'test.csv'
out_fname = 'transposed.csv'
with open(inp_fname, 'r', newline='') as in_csvfile, \
open(out_fname, 'w', newline='') as out_csvfile:
reader = csv.reader(in_csvfile, delimiter=' ', skipinitialspace=True)
writer = csv.writer(out_csvfile, delimiter='\t')
for row in reader:
for v in row[0].rstrip(',').split(','):
writer.writerow([v] + row[1:])
最终transposed.csv
文件内容:
712 26 blah blah
713 26 blah blah
714 26 blah blah
1 11 aaa bbb
2 11 aaa bbb
3 11 aaa bbb
推荐阅读
- mysql - 使用 django-comments-xtd 发表评论返回 SQL 语法错误
- python - 在 Python3 中读取 .txt 文件时无法加载内容
- openssl - openssl 可以像普通字段一样提示自定义字段吗?
- react-native - 反应 MapView 以在标记上显示地址
- google-cloud-functions - 如何使用签名和公钥验证 TransferWise 有效负载?
- python - 集合的反向插入顺序。具有足够大数据的 OrderedDict
- powershell - 詹金斯 - 将脚本从本地文件夹复制到工作区 - 错误'无法将参数绑定到参数'路径',因为它为空'
- citrix - Citrix DaaS 如何知道谁连接到特定虚拟桌面
- git - 为什么我的分叉坚持我有来自上游的更改,我该如何解决这个问题?
- python - 我怎么知道在写调用后何时缩小文件的大小?