我有一个原始文件:
RollNo Address1 City State ZipCode Age Branch Subject Marks1 Marks2
10000 6505 N MGM W ROAD MMUMBAI CITY IN 46360 77 0 0 -1 1
10002 1721 HAZAREER DR. DR. UNIT 8 BELAGHIA FL 33756 86 0 0 -1 2
在python中,如何将其转换为逗号分隔的文件:
^{pr2}$我试图将其转换为列表,以便稍后可以将其转换为逗号分隔的字符串,并使用\t作为分隔符,但似乎无法提供所需的输出。在
我的代码是:
files_list=[[i for i in line.strip().split(' ')] for line in open('C:/Users/Vinny/Desktop/Python/file2cnvrt.txt').readlines()]
我得到的输出:
[['RollNo', 'Address1', 'City', 'State', 'ZipCode', 'Age', 'Branch', 'Subject', 'Marks1', 'Marks2'],
['10000 6505 N MGM W ROAD MMUMBAI CITY IN 46360 77 0 0 -1 1'],
['10002 1721 HAZAREER DR. DR. UNIT 8 BELAGHIA FL 33756 86 0 0 -1 2']]
有人能建议吗?在
试试这个:
指数是根据你给我们的数据收集的。我以为一切都是完美的。在
有几件事。首先,不要在你的列表理解中直接使用
open()
。在如果要使用
open()
,请始终使用上下文管理器,该管理器可确保在完成文件后关闭该文件:第二:你会发现你的生活更容易不去操心} module 。在
^{pr2}$open()
,并开始使用惊人的^{第三:您可以使用Windows USERPROFILE环境变量自动找到其位置,而不是将整个路径复制粘贴到桌面:
第四:粘贴的示例原始文件中似乎没有任何制表符(
'\t'
)。它有4个空格(' '
)。如果真是这样的话,这应该行得通:注意
if i
部分。这可以确保任何由4个空格组成的连续集不会在列表中放入空字符串(''
)。在但是,粘贴的代码(相当于上面的代码)产生了错误的结果。我想这可能是因为第二行和第三行实际上有制表符(
'\t'
)而不是4个空格。所以您需要split()
同时使用4个空格和一个制表符。在最简单的方法是用4个空格替换制表符。再次使用相同的
if i
以避免空字符串。在这可能不是最优化的方法,尽管它会生成一个逗号分隔的值文件。其中FILE_IN和FILE_OUT分别是输入和输出文件的文件名。在
相关问题 更多 >
编程相关推荐