仅供参考: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文件,并添加一个额外的 {-} 作为标题,而无需添加相应的列数据(因此您还有一个标题而不是包含数据的列。