我有一个输入文件,在其中进行字符串替换操作。你知道吗
我逐个单元格读取文件,替换字符串,然后将其写回一个新的CSV文件。你知道吗
input_file = open('/Users/tcssig/Desktop/unstacked2.csv', 'r', encoding='utf-8')
output_file = open('/Users/tcssig/Desktop/unstacked3.csv', 'w', encoding='utf-8')
writer = csv.writer(output_file , delimiter=' ')
reader = csv.reader(input_file)
for row in reader:
for string in row:
data = [string.replace('read','write')]
print(data)
writer.writerow(data)
上面的代码运行良好,但我得到一个空的输出文件。你知道吗
Example of data :
reading reading reading reading
interval 0 1 2 3
who axis
Mikael X 0 10 20 30
Mikael Y 50 40 30 20
Mikael Z 100 90 80 70
Mike X 0 0.1 0.2 0.3
Mike Y 0.5 0.4 0.3 0.2
迈克Z 10.9 0.8 0.7
我错过了什么?你知道吗
输入文件的内容:
代码有问题:
您正在按
for string in row:
读取单元格,并在那里替换字符串。但在替换之后,您正在将该单元格作为行写入文件中。例如,输出文件和代码文件:卷号
英语
阅读
科学
这是由于上述原因,即您正在写入每个单元格。你知道吗
如何让它工作?
与代码内联的注释
输出:
您可以在没有
csv
模块的情况下实现相同的功能。你知道吗关闭文件:
也可以看到这个关于使用上下文管理器的答案 https://stackoverflow.com/a/441446/4663466
相关问题 更多 >
编程相关推荐