来自python列表的Writerows - 如何删除括号和撇号

时间:2013-06-19 03:51:58

标签: python list data-cleansing

我有以下python代码,它通过我的csv文件,删除所有百分号(%),并将文件重写回新的csv文件。

在运行我的代码之前,数据看起来像这样:

|第1栏|第2栏|第3栏|第4栏|等|

现在,它看起来像这样:

| ['第1列'| '第2列'| '第3列'| '第4列'| 'etc'] |

我不希望我的数据包含由python的列表功能创建的括号/撇号。我担心它会或者a)在上传时被包含在我的数据库中,或者b)炸弹导入到mySQL数据库。有什么方法吗?

提前致谢, 丹

这是我的代码:

import csv
import string

input_file = open('Data.csv', 'r')
output_file = open('NewData.csv', 'w')
data = csv.reader(input_file)
writer = csv.writer(output_file)
specials = '%'

for line in data:
    line = str(line)
    new_line = str.replace(line,specials,'')
    writer.writerow(new_line.split(','))

input_file.close()
output_file.close()

1 个答案:

答案 0 :(得分:2)

Python中的split(',')方法将返回一个列表。使用您想要的任何分隔符将它们连接在一如果new_line.split(',')为您提供['Column1','Column2','Column3']等内容,请尝试

' | '.join(new_line.split(','))

这会给你类似Column1 | Column2 | Column3的内容。

语法与大多数ppl用于其他语言的语法略有不同,但必须在分隔符上调用Python中的join方法,并将目标列表作为参数传递。