Python-打开文件并将行转换为列
对不起,我刚开始学习Python作为第一种编程语言。我想打开一个文件,其中有一行数字,由空格分隔,我想打开该文件,将行转换为一列。我有两种方法可以做到这一点,问题不在于如何做到这一点,而在于“我是如何得到这个结果的?” 以下是我所做的: 第一种方法: 第二种方法:Python-打开文件并将行转换为列,python,python-3.x,Python,Python 3.x,对不起,我刚开始学习Python作为第一种编程语言。我想打开一个文件,其中有一行数字,由空格分隔,我想打开该文件,将行转换为一列。我有两种方法可以做到这一点,问题不在于如何做到这一点,而在于“我是如何得到这个结果的?” 以下是我所做的: 第一种方法: 第二种方法: 第二个增加了一个行,但是它把空间分隔的数字转换成列,问题是从我的第一个方法,为什么它把行转换成一列?来理解为什么会发生这种情况,只需考虑下面的简单例子 myString = '12345' for character in myStr
第二个增加了一个行,但是它把空间分隔的数字转换成列,问题是从我的第一个方法,为什么它把行转换成一列?
来理解为什么会发生这种情况,只需考虑下面的简单例子myString = '12345'
for character in myString:
print character
输出如下所示:
>>> 1
>>> 2
>>> 3
>>> 4
>>> 5
发生这种情况的原因是for
循环在字符串中的每个字符上迭代,而print
语句在其自己的行上打印这些字符
如果原始文件的第一行是这样的
这是文件中的第一行
那么您的输出将是
>>> T
>>> h
>>> i
>>> s
>>>
>>> i
>>> s
>>>
>>> t
>>> h
>>> e
...
总结,字符串可以重复,就像列表一样,所以循环的<代码>每次给你一个字符,而
以理解为什么会发生这种情况,只需考虑下面的简单示例
myString = '12345'
for character in myString:
print character
输出如下所示:
>>> 1
>>> 2
>>> 3
>>> 4
>>> 5
发生这种情况的原因是for
循环在字符串中的每个字符上迭代,而print
语句在其自己的行上打印这些字符
如果原始文件的第一行是这样的
这是文件中的第一行
那么您的输出将是
>>> T
>>> h
>>> i
>>> s
>>>
>>> i
>>> s
>>>
>>> t
>>> h
>>> e
...
总而言之,字符串可以像列表一样进行迭代,因此
for
循环每次给您一个字符,而print
语句将每个字符放在自己的行上。我不确定自己是否理解得很好。您说必须将文件中的行转换为列
两种解决方案都只在列中显示数据,但它们不会将数据写入文件。要真正将一个文件转换为另一个文件,您必须创建一个单独的文件并写入其中
此外,如果有多条线,您的方法也不起作用
一种方法是将文件读入行列表,并将每行读入数字列表。然后用for迭代这个二维列表,将其写入一个新文件 我不确定我是否理解得很好。您说必须将文件中的行转换为列 两种解决方案都只在列中显示数据,但它们不会将数据写入文件。要真正将一个文件转换为另一个文件,您必须创建一个单独的文件并写入其中 此外,如果有多条线,您的方法也不起作用
一种方法是将文件读入行列表,并将每行读入数字列表。然后用for迭代这个二维列表,将其写入一个新文件 回答得好!我想明确指出,默认情况下,
print
函数将自己的换行符添加到传递给它的任何字符串中。因此,执行print“\n”
将打印一个换行符,后跟一个额外的换行符。因此,在上面提供的示例中,如何将这些单词分隔到它们自己的行中?这样,每个单词都是独立的。如果您想在单独的一行上打印每个单词(不要使用“行”这个词,因为它意味着您不想要的其他内容),您可以用换行符替换每个空格。例如,您可以执行myString=myString.replace(“”,“\n”)然后打印(myString)。但是你应该在一个单独的问题中问这个问题。很好的答案!我想明确指出,默认情况下,print
函数将自己的换行符添加到传递给它的任何字符串中。因此,执行print“\n”
将打印一个换行符,后跟一个额外的换行符。因此,在上面提供的示例中,如何将这些单词分隔到它们自己的行中?这样,每个单词都是独立的。如果您想在单独的一行上打印每个单词(不要使用“行”这个词,因为它意味着您不想要的其他内容),您可以用换行符替换每个空格。例如,您可以执行myString=myString.replace(“”,“\n”)然后打印(myString)。你应该在一个单独的问题中问这个问题。我在下面给出了答案,但我想知道为什么你要将文件中的数据转换为“行”。打印文件内容时,它会显示在输出终端的多行上,但这实际上是因为数据是一行。这只是打印方式的副产品。我在下面给出了答案,但我想知道为什么要将文件中的数据转换为“行”。打印文件内容时,它会显示在输出终端的多行上,但这实际上是因为数据是一行。这只是打印出来的东西的副产品。