import csv
csv_file = (r'symbols/Input_weekly_insidebar.csv')
txt_file = (r'symbols/Input_weekly_insidebar.txt')
with open(txt_file, "w") as my_output_file:
with open(csv_file, "r") as my_input_file:
[ my_output_file.write(','.join(row)) for row in csv.reader(my_input_file)]
my_output_file.close()
在 txt 输出文件中,每个符号都应在符号后有一个逗号 ','。结果应该是:
你能告诉我我的代码有什么问题吗?因为上面的代码产生了一个没有逗号的输出。
谢谢你的支持。
最佳答案
因为所有行只包含一个元素,','.join(row)
不会插入分隔符.
修复它的一种简单方法是只选择每行的第一个也是唯一一个元素,即 row[0]
.
我扔了一个next(reader)
为了跳过 csv header 。
import csv
csv_file = r'symbols/Input_weekly_insidebar.csv'
txt_file = r'symbols/Input_weekly_insidebar.txt'
with open(txt_file, "w") as my_output_file:
with open(csv_file, "r") as my_input_file:
reader = csv.reader(my_input_file)
next(reader) # skip the header
my_output_file.write(','.join(row[0] for row in reader))
请注意,您不应手动调用my_output_file.close()
因为您已经在使用 with
声明来打开你的文件。 with
语句已经为您关闭了文件。
关于python - 用逗号将 CSV 文件转换为 Python 中的 txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65764093/