我有一个Python脚本,它创建一个CSV文件,其中一个列具有诸如4-10, 10-0, etc
之类的值。
当我在Excel中打开CSV时,它将这些值格式化为dates、ex、4-Oct
。当我转到Format Cells
并将类型更改为Text
时,它会将4-10
更改为43012
。
阻止这一切的最简单方法是什么?
发布于 2017-03-24 17:19:37
当您将数据导入到Excel中时,请告诉导入向导该字段是文本。
发布于 2017-03-24 17:35:06
我的首选是在可能的情况下处理输入,在这种情况下,如果您能够控制python脚本,最好只是修改它,以便Excel的默认行为以所需的方式解释该文件。
借用this similar question with a million upvotes,您可以修改python脚本以包含一个非打印字符:
output.write('"{0}\t","{1}\t","{2}\t"\n'.format(value1, value2, value3))
这样,您可以轻松地双击打开文件,内容将被视为文本,而不是解释为数字/日期值。
这样做的好处是,其他用户不必记住使用向导,而且处理混合数据也更容易。
示例:
def writeit():
csvPath = r'c:\debug\output.csv'
a = '4-10'
b = '10-0'
with open(csvPath, 'w') as f:
f.write('"{0}\t","{1}\t"'.format(a,b))
在文本编辑器中生成以下文件:
当通过Excel中的双击打开时:
https://stackoverflow.com/questions/43005463
复制相似问题