我一般对Python和程序设计还很陌生,所以希望您不要介意我问一个可能非常基本的问题。
我正在使用以下代码将目录列表输出到excel。
import os
a = open('H:\output.csv', "w")
for path, subdirs, files in os.walk(r'.'):
for filename in files:
f = os.path.join(path, filename)
a.write(str(f) + os.linesep)
问题是某些文件名被切断,而不是完全包含在A列中,而后6个左右的字符被拆分到B列中。
此外,每行之间都有一个换行符,理想情况下,我希望摆脱掉。
最后,我想要第二列仅包含文件名而不是完整路径。
答案 0 :(得分:0)
尝试一下。它用双引号("
)包围文件路径和文件名,我认为这可以避免此问题。我还必须为输出文件指定编码,因为在我的系统路径上是Unicode,但文件的默认模式不是。
import os
a = open('dirfiles.csv', "w", encoding='utf8')
for path, subdirs, files in os.walk(r'.'):
for filename in files:
f = os.path.join(path, filename)
a.write('"%s","%s"' % (f, filename) + os.linesep)