将列表转换为数据框时如何使用“换行”命令?

Posted

技术标签:

【中文标题】将列表转换为数据框时如何使用“换行”命令?【英文标题】:How to use the "new line" command when converting a list into a dataframe? 【发布时间】:2021-04-09 06:47:19 【问题描述】:

我正在将字符串转换为 DataFrame,但是当读取为 csv,然后是列表时,字符串将每个字母作为 DataFrame 中的新行进行迭代。如何编码新行的开始位置?

'overs' 变量是一个字符串:

BASKETBALL - NBA
SPREAD
MONEY
TOTAL
...

以下代码返回一个每行一个字母的 DataFrame。

df = pd.DataFrame(list(reader(overs)))

返回:

col_name: 0 
data: 0      B
1      A
2      S
3      K
4      E
      ..
250     
251    P
252    L
253    A
254    Y
Name: 0, Length: 255, dtype: object

【问题讨论】:

pandas 为此提供了“read_csv”功能。 【参考方案1】:

您可以使用pd.read_csvheader=None,这样它就不会使第一个值成为列:

df = pd.read_csv('overs.txt', header=None)
print(df)

【讨论】:

【参考方案2】:

您可以使用.split('\n'),它将返回一个列表,其中每个元素在新行上拆分。但就像其他人说的,为什么不直接使用pandas'.read_csv()

import pandas as pd

overs = '''BASKETBALL - NBA
SPREAD
MONEY
TOTAL'''

df = pd.DataFrame(overs.split('\n'))

输出:

print (df)
                  0
0  BASKETBALL - NBA
1            SPREAD
2             MONEY
3             TOTAL

【讨论】:

以上是关于将列表转换为数据框时如何使用“换行”命令?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Bash 脚本中将 DOS/Windows 换行符 (CRLF) 转换为 Unix 换行符 (LF)

如何将列表转换为每行 N 项的 CSV 文件?

将rdd转换为数据框时,pyspark对mapPartitions使用一项任务

Pyspark - 将rdd转换为数据框时数据设置为null

Python 如何将该列表转换成excel表格?

如何将字符串以换行符为界写入列表