我是Python的新手。
我正在创建一个可以运行的脚本,该脚本将处理XLSX文件并将其转换为管道“ |” 分隔的csv。值得庆幸的是,我已经弄明白了。但是,我尝试添加一个额外的步骤-我希望使用相同的脚本删除文件中的任何逗号。我以为自己拥有了,但是,我收到以下错误消息:值错误:对关闭的文件进行I / O操作。据我所知,我可能有缩进问题,但我不知道该在哪里。我尝试了几种组合。这是我的代码:
import pandas as pd
import csv
data_xls = pd.read_excel('Chartwell.xlsx', 'Chartwell', index = False)
data_xls.to_csv('your_csv2.csv', index = False, sep='|', encoding='utf-8')
input_file = open('your_csv2.csv', 'r')
output_file = open('No_Commas.csv', 'w')
for line in input_file:
line = line.replace(",", " ")
output_file.write(line)
output_file.close()
input_file.close()
就是这样 (基本上,您是在第一次遍历for
迭代时关闭文件的。)请尝试以下更改:
input_file = open('your_csv2.csv', 'r')
output_file = open('No_Commas.csv', 'w')
for line in input_file:
line = line.replace(",", " ")
output_file.write(line)
output_file.close()
input_file.close()
更好的是,如果您使用的是最新版本的Python,则可以使用一个with
块,该块将在离开范围时自动关闭文件:
with open('your_csv2.csv', 'r') as f:
input_file = f.readlines()
with open('No_Commas.csv', 'w') as output_file:
for line in input_file:
line = line.replace(",", " ")
output_file.write(line)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句