2

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

在我运行代码之前,数据如下所示:

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

现在,它看起来像这样:

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

我不希望我的数据包含由 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()
4

1 回答 1

2

split(',')Python 中的方法将返回一个列表。使用您想要的任何分隔符将它们连接在一起。如果new_line.split(',')给你类似的东西,['Column1','Column2','Column3']然后试试

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

这会给你类似的东西Column1 | Column2 | Column3

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

于 2013-06-19T03:59:58.687 回答