我有以下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()
答案 0 :(得分:2)
Python中的split(',')
方法将返回一个列表。使用您想要的任何分隔符将它们连接在一如果new_line.split(',')
为您提供['Column1','Column2','Column3']
等内容,请尝试
' | '.join(new_line.split(','))
这会给你类似Column1 | Column2 | Column3
的内容。
语法与大多数ppl用于其他语言的语法略有不同,但必须在分隔符上调用Python中的join方法,并将目标列表作为参数传递。