从CSV文件中删除特殊字符

时间:2018-07-20 11:23:51

标签: python csv

仅供参考:python的新手。我有一个csv文件(以{','}作为分隔符),其中包含一些传感器数据。有一个连字符{'-'}的标题出现了很多次,这不是必需的。由于它不对应任何数据,因此会导致数据列移位,因此与列标题不匹配。要解决此问题,请在浏览互联网后执行以下操作:

specials = '\'-\''
new_line = str.replace(line, specials, '')

这将连字符替换为空。但是,现在它是一个空格,问题没有得到解决。如果我这样做:

specials = ',\'-\'' #see the , added
new_line = str.replace(line, specials, '')

什么也没有发生,即使连字符{'-'}也没有删除。可能是由于{','}是分隔符。除了更改定界符(假设它可以工作)之外,如何删除第一行中弹出并导致数据和标题不匹配的额外标题?显然,只需删除任何确切的序列{,'-'}即可为我解决问题,但我无法做到。

请询问是否不清楚。

编辑:这是完整的代码

import csv
import sys

output_file = open('sensor_data.csv', 'w')
with open(sys.argv[1],'r') as input_file:
    data = csv.reader(input_file)
    writer = csv.writer(output_file, quoting=csv. QUOTE_ALL)

# special characters to be removed
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()

{,} 为定界符放入一个良好的csv文件,并添加一个额外的 {-} 作为标题,而无需添加相应的列数据(因此您还有一个标题而不是包含数据的列。

0 个答案:

没有答案