将List拆分为csv中的单独列

时间:2017-12-03 17:12:14

标签: python list csv split

我正在尝试拆分我在Python中创建的List,然后创建一个单独列的csv文件,每个变量都有自己的列。列表的变量由描述符“|”分隔。此列表看起来像:1234 | 11/20/2017 | 4。因此,当我创建List的csv时,它只生成List的一列,所以我现在需要拆分List并使用3个不同的列创建另一个csv。谢谢!

1 个答案:

答案 0 :(得分:0)

使用内置的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)

此处的分隔符更改为' |'到','对于逗号分隔值文件。 (信用克林顿W.布朗利。用Python进行分析基础的作者)

print命令只是用于获取屏幕上的输出以进行检查,并且要导入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]读取第二个文件路径。