我有一个txt文件,有214列(数据用空格隔开)和大约50万行。在
我想将txt转换为csv,并使用了以下代码:
import csv
txt_file = r"myfile.txt"
csv_file = r"myfile.csv"
in_txt = csv.reader(open(txt_file, "r"), delimiter = " ", quotechar=" ")
out_csv = csv.writer(open(csv_file, 'w', newline='\n'),delimiter=' ', quotechar=' ', quoting=csv.QUOTE_MINIMAL)
out_csv.writerows(in_txt)
但这会将我的数据导出到一个csv文件中,所有的列都用空格隔开,在excel的第一个A
列中。。。我最终希望能够将txt转换为csv,并在此过程中删除10th-48th, 50-61, 65, 67, 68, 71-75, 77, 78, 80-88, 91, 93, 96-100, 102, 105-110, 112-114, 116-119, 122-126, 128-134, 136-140, 142-151, 153-155, 160-162, 165-169, 172-173, 175-177, 179-187, 189-196, 198, 199 & 201-214
列。我确信这很简单,但我正在努力解决如何做到这一点
必须将
writer
的分隔符设置为逗号。在你可以为每一行删除一行。生成器表达式允许您修改每一行,而无需同时加载所有行
^{pr2}$你必须改变
到
^{pr2}$因为您希望编写器在生成的csv文件中使用“;”作为分隔符。 对于删除列,我认为除了在For循环中迭代这些列之外,没有其他方法,只有在当前列不是这些列之一的情况下才写入它。在
例如:
相关问题 更多 >
编程相关推荐