【问题标题】:Splitting a List into separate columns in csv将列表拆分为csv中的单独列
【发布时间】:2018-05-17 04:29:25
【问题描述】:

我正在尝试拆分我在 Python 中创建的列表,然后制作一个包含单独列的 csv 文件,每个变量都有自己的列。列表的变量由轮廓符“|”分隔。此列表看起来类似于:1234|11/20/2017|4。因此,当我创建列表的 csv 时,它只创建列表的一列,所以我现在需要拆分列表并创建另一个具有 3 个不同列的 csv。谢谢!!

【问题讨论】:

  • 如果列表不包含任何逗号,您可以简单地将每个 | 替换为 ,,然后再将该行写入 csv。

标签: python list csv split


【解决方案1】:

使用内置的 csv 模块:

import sys
import csv

in_path = '/YOUR/ORIGINAL/FILE/PATH.csv'
out_path = '/THE/CORRECTED/FILE/HERE.csv'
with open(in_path, 'r', newline = '') as csv_in_file:
    with open(out_path, 'w', newline ='') as csv_out_file:
        reader = csv.reader(csv_in_file, delimiter='|')
        writer = csv.writer(csv_out_file, delimiter=',')
        for row in reader:
            print(row)
            writer.writerow(row)

这里的分隔符由“|”改变到 ',' 用于逗号分隔值文件。 (感谢 Clinton W. Brownley.. Foundations For Analytics With Python 的作者)

打印命令仅用于在屏幕上获取输出以进行检查,并导入 sys 模块以防您希望将其自动化并输入不同的 csv 文件。 in_path 变量将比: in_path = sys.argv[1] out_path = sys.argv[2]

从命令行执行将是:

python the_script.py /original/file/path.csv  corrected/file/path.csv

sys argv 方法首先从命令行 [1] 读取文件路径(在 python 脚本之后)和 [2] 第二个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-02
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    • 2019-11-05
    相关资源
    最近更新 更多