【问题标题】:Separation of a txt file?一个txt文件的分离?
【发布时间】:2019-10-03 23:52:23
【问题描述】:

我正在学习 python。我必须阅读包含以下内容的文件:

00000 美国 01000 ALABAMA01001 Autauga County, AL01003 Baldwin County, AL01005 Barbour County,AL01007 Bibb County, AL01009 Blount County, AL01011 Bullock County, 等等

我的程序是:

fips_fname ="path/FIPS_CountyName.txt"

f = open(fips_fname)

for row in f:

    print(row)

输出是: 00000 美国

01000 阿拉巴马

01001 阿拉巴马州奥托加县

01003 阿拉巴马州鲍德温县

01005 阿拉巴马州巴伯县

01007 阿拉巴马州比伯县

01009 布朗特县,阿拉巴马州

01011 阿拉巴马州布洛克县

01013 阿拉巴马州巴特勒县

为什么? python如何决定将什么放入一行以及何时完成一个新行并创建一个新行?

【问题讨论】:

  • 你能详细说明你所说的分离是什么意思吗?您是在问为什么 python 每次都在不同的行上打印?
  • 文本文件的不同行是不同的行吗?
  • @KylePendergast 我已经编辑过了。
  • 奇怪,行应该逐行分隔,而不是逗号分隔值由逗号分隔值分隔。您确定文件包含“00000 UNITED STATES 01000 ALABAMA01001 Autauga County, AL01003 Baldwin County, AL01005 Barbour County,AL01007 Bibb County, AL01009 Blount County, AL01011 Bullock County”都在一行上吗?也许有一些看不见的空白把事情搞砸了。如果您的文本编辑器有“显示所有特殊字符”之类的选项,请尝试启用它。

标签: python


【解决方案1】:

在 Windows 中,行由\r\n 分隔,而您正在读取的文件中的行仅由\n 分隔。您可能使用记事本查看了该文件,它不将\n 视为行分隔符,并且将记事本显示的文件中的行视为一长行。但是当您使用 Python 作为生成器遍历文件对象时,\n 被识别为有效的行分隔符,因此单独生成每一行。

【讨论】:

  • 谢谢。我试图用word打开记事本文件,他把我在python中读到的东西分开了。如何知道txt文件中是否有分隔符?
  • 您可以通过使用比记事本更强大的编辑器来了解文本文件中是否存在行分隔符,就像您使用 Word 所做的一样(内置的写字板也可以使用)。据我所知,除了记事本之外,Windows 中几乎所有的编辑器都将\n 识别为行分隔符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多