gpt4 book ai didi

python - 值错误 : I/O operation on closed file

转载 作者:太空宇宙 更新时间:2023-11-04 03:09:53 25 4
gpt4 key购买 nike

我是 Python 的新手。

我正在创建一个我可以运行的脚本,它将处理 XLSX 文件并将其转换为管道“|”分隔的 csv。值得庆幸的是,我已经弄清楚了这件作品。但是,我正在尝试添加一个额外的步骤 - 我想要相同的脚本来删除我文件中的所有逗号。我以为我有它,但是,我收到以下错误消息:Value error : I/O operation on closed file。据我所知,我可能有缩进问题,但我不知道在哪里。我试过几种组合。这是我的代码:

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 block ,它会在你离开范围时自动关闭文件:

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)

关于python - 值错误 : I/O operation on closed file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38386725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com