我有下面的 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()
最佳答案
split(',')
Python 中的方法将返回一个列表。使用您想要的任何分隔符将它们连接在一起。如果 new_line.split(',')
给您类似 ['Column1','Column2','Column3']
等内容,请尝试
' | '.join(new_line.split(','))
这会给你类似 Column1 |第 2 栏 |第3列
。
语法与大多数人习惯的其他语言略有不同,但必须在分隔符上调用 Python 中的 join 方法,并将目标列表作为参数传递。
关于python - python 列表中的 Writerows - 如何删除括号和撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17182592/