python - 根据csv中的空格分隔值写入新行
问题描述
我有一个 csv 文件,如下所示:
column1 column2 column3
a b value1 value2 value3
a z value4 value5 value6
s t value7
我想用空格分隔'column3',以便该列只有一个值。该行的其余部分将被重复。这是我想获得的输出示例:
column1 column2 column3
a b value1
a b value2
a b value3
请注意,我找到了类似问题的答案,但使用了我不想使用的 pandas。
任何解决方案都会有所帮助。
谢谢,
解决方案
如果您真的想“手动”执行此操作,您可以column3
按空格分隔,并为每个值创建具有相同column1
和column2
值的行。
例子:
csv_text = """
column1,column2,column3
a,b,value1 value2 value3
a,z,value4 value5 value6
s,t,value7
"""
result = ["column1,column2,column3"]
for line in csv_text.splitlines(keepends=False)[2:]:
col1, col2, col3 = line.split(",")
for val in col3.split(" "):
result.append(",".join((col1, col2, val)))
print("\n".join(result))
输出:
column1,column2,column3
a,b,value1
a,b,value2
a,b,value3
a,z,value4
a,z,value5
a,z,value6
s,t,value7
(您当然可以将其写入文件或您需要的任何其他内容,这里的重点是循环体)
推荐阅读
- javascript - 使用 javascript 将 HTML 页面导出为 PDF 时页面卡住
- python - 压缩文件夹但将变量存储在烧瓶中?
- javascript - 时间根据 jquery 中的日期显示。如何解决这个问题?
- azure - azureml 没有名为“xgboost”的模块
- rest - REST 端点,替代用户信息字段中已弃用的“用户:密码”
- android - MotionLayout 是否有任何替代方法可以使用 ConstraintLayout 创建可折叠标题?
- javascript - 拖放不适用于水平滚动的表数据
- java - 如何检查在 Android 的图像视图上设置了哪个图像?
- python - Pandas 中 plot 和 plot() 的区别
- javascript - 如何提高使用 Javascript 定位我的 html 元素的效率