【发布时间】:2020-01-20 10:46:23
【问题描述】:
我正在尝试将 txt 文件转换为 Python 中的 csv 文件。 txt 文件的当前格式是由空格分隔的几个字符串。我想将每个字符串写入 csv 文件中的一个单元格。
txt文件的结构如下:
用户 ID 桌面显示(版本)(服务器/端口句柄),日期
用户 ID 桌面显示(版本)(服务器/端口句柄),日期
等等
我的方法如下:
with open('licfile.txt', "r+") as in_file:
stripped = (line.strip() for line in in_file)
lines = (line.split(" ") for line in stripped if line)
with open('licfile.csv', 'w') as out_file:
writer = csv.writer(out_file)
writer.writerow(('user', 'desktop', 'display', 'version', 'server', 'handle', 'date'))
writer.writerows(lines)
不幸的是,这没有按预期工作。我确实收到以下 ValueError: I/O operation on closed file。此外,在 csv 文件的一个单元格中仅显示预期的行标题。
关于如何进行的任何提示?非常感谢。
【问题讨论】:
-
能否添加输入和预期输出示例?
-
您应该包括脚本的输入和输出(或其中的一部分)。
-
只需在
stripped = (line.strip() for line in in_file)之前使用read_lines = in_file.readlines()来读取缓冲区中的行,然后再遍历它们。否则,代码的逻辑似乎已经足够好了。
标签: python python-3.x csv formatting format