【问题标题】:How to add line breaks after each comma of a csv file?如何在csv文件的每个逗号后添加换行符?
【发布时间】:2021-03-14 16:25:32
【问题描述】:

我有一个这样的 csv - 文件:

1.149, 1.328, 1.420, 1.148

这是我当前的代码:

import pandas as pd
df = pd.read_csv("right.csv")

Python 处理输出的列和行。 但我想有这样的输出:

1.149,
1.328, 
1.420, 
1.148

我需要这样,因为之后我想知道 CSV 文件中有多少数据并使用它。但现在它只是告诉我我有 1 行 4 列。

有人可以帮帮我吗?

【问题讨论】:

  • 输入多行怎么办?
  • 除了最后一行之外,是否要在所有行的末尾保留逗号?多行怎么办?
  • 关于您的上次编辑:您的最终目标是找出您的 CSV 文件中有多少数据?那么行数乘以列数呢?
  • 实际上,我的 CSV 文件应该是这样的:所有值相互之间,每个值后面都有一个逗号 但是在我的 CSV 文件中,这些值都在一行中,而不是在彼此之下。最后我想用这些值做一些计算。但为此,我需要彼此拥有价值观。
  • 对不起,我不明白你最后评论的意思。此外,如果您使用逗号作为分隔符,看起来您当前的预期输出将是一个 CSV,其中包含除最后一行之外的所有行的两列(第二列包含空字符串),其中仅包含一列。这真的是你想要的吗?

标签: python dataframe csv line


【解决方案1】:

据我了解,只有一行数据,如您作为示例显示的那样:

1.149, 1.328, 1.420, 1.148

您可以将空格替换为新行\n

import pandas as pd
df = pd.read_csv("right.csv")
print(df.replace(", ", ",\n"))

根据我的理解,这会给你你所期望的结果:

1.149,
1.328,
1.420,
1.148

【讨论】:

  • 问题是,有更多的行。我只展示了一段摘录。
【解决方案2】:

这听起来像是XY Problem,但如果您只是想知道字段的数量,请数一下逗号和换行符!

这可能只是近似值,因为它取决于您输入的一致性程度

count = 0
with open("path/source.csv") as fh:
    for line in fh:  # iterate over lines
        if not line:
            continue
        count += 1  # each line is a new field
        count += line.count(",")

否则,也许您正在寻找 Transpose (Wikipedia) 数据框

>>> import pandas as pd
>>> df = pd.read_csv("test.csv")
>>> df
Empty DataFrame
Columns: [1.149,  1.328,  1.420,  1.148]
Index: []
>>> df.T
Empty DataFrame
Columns: []
Index: [1.149,  1.328,  1.420,  1.148]
>>> df2 = pd.DataFrame({'a': [1,2], 'b': [3,4]})
>>> df2
   a  b
0  1  3
1  2  4
>>> df2.T
   0  1
a  1  2
b  3  4

【讨论】:

    【解决方案3】:

    你可能会这样做:

    import pandas as pd
    df = pd.read_csv("right.csv")
    for column in df:
        index = str(df[column]).find('1')
        print(str(df[column])[index:index+5])
    

    【讨论】:

    • 这个'1'是什么?
    • 由于您的所有字符串都以数字“1”开头,因此我在字符串中搜索它,然后创建一个新变量,它后面的所有字符都带有 5 个空格。然后你在循环中打印每个变量。
    猜你喜欢
    • 1970-01-01
    • 2023-01-23
    • 2015-06-10
    • 1970-01-01
    • 2019-03-17
    • 2023-02-01
    • 2013-03-17
    • 2019-02-14
    • 2016-09-04
    相关资源
    最近更新 更多