\t 用于 excel 粘贴到新单元格

\t for excel pasting into new cells

基本问题 我想将大列表粘贴到 excel 中,但是它们都粘贴到同一个单元格中,我怎样才能让它们粘贴到不同的单元格中。例如网站 https://www.doogal.co.uk/BatchGeocoding.php 的设置:

制表符(用于直接粘贴到 Excel)在

关闭输入地址

英国东移和北移

与视图文本

这允许将数字放入不同的单元格中。我如何在 python 中重新创建它,以便我可以复制输出并粘贴到 excel sheet 中。我试过在输出之间放置 4 个空格并在它们之间添加 \t。例如 52.660869 1.26202 和 52.660869 \t 1.26202 但它们粘贴到同一个单元格中。

我希望这个输出直接粘贴到 excel 52.522229, -1.448947, 'vZR6L', 'GTS', 'Owner', 'london', '0' , 'x', 喜欢网站

我试过了

52.522229    -1.448947    vZR6L    GTS    Owner    london    0    x
52.522229 \t -1.448947 \t vZR6L \t GTS \t Owner \t london \t 0 \t x
52.522229\t-1.448947\tvZR6L\tGTS\tOwner\tlondon\t0\tx

我做了一些研究,据我所知,不可能从命令行实现您想要的。问题是即使您在代码中指定 \t,命令行也会将制表符输出为空格。

>>>my_string = "THIS\tIS\tA\tTEST"
>>> print(my_string)
THIS....IS......A.......TEST

在此示例中,. 是空格。 Excel 无法解析。

选项 1

我假设你在 windows。如果是这样,您可以将输出通过管道传输到 Windows clip 程序。

>>>import os
>>>my_string = "THIS\tIS\tA\tTEST"
>>>os.system("echo {} | clip".format(my_string))
0

这会将字符串复制到剪贴板。在我的测试中这有效:我不知道它对你有多好。

对于其他操作系统,请参阅:Pipe to/from the clipboard

选项 2

或者您可以将输出写入一个文件,TAB 个字符将实际保存在该文件中:

with open("results.txt") as f:
    f.write(my_string)

但此时,您不妨用逗号分隔值并将其保存为 .csv:

my_string = "THIS, IS, A, TEST"
with open("results.csv") as f:
    f.write(my_string)