如何解析列中的字符串数据(来自csv文件)?

bpsygsoo  于 2023-04-03  发布在  其他
关注(0)|答案(1)|浏览(190)

我是一个Python新手,我正在尝试从一个dataframe的一列中解析一些字符串数据。dataframe来自一个csv文件。
我的数据框有4列:
“索引”、“发送者名称”、“内容”和“React”\r
'reactions\r'列中的所有数据条目都具有相同的格式,您可以在下面看到:

[{'reaction'
| index.   | reactions\r |
| -------- | -------- |
| 0        |[{'reaction''√∞\x9f\x91\x8d', 'actor': 'anon1'}]
            [{'reaction': '√∞\x9f\x98\x86', 'actor':    'anon2'},   
            [{'reaction': '√∞\x9f\x98\x86', 'actor': 'anon3'}, 
            [{'reaction': '√∞\x9f\x98\x86', 'actor': 'anon4'}]   
 
| 1        | [{'reaction''√∞\x9f\x91\x8d', 'actor': 'anon1'}]

每行在[{ }]个括号中有不同数量的数据。正如你所看到的,每个括号被分成:['reaction':... and 'actor':...}]
我想把这个列分成两列-一列只包含React,另一列包含演员。有办法做到这一点吗?例如,我想上面的看起来像这样:

| index | reaction            | actor
| ------  --------            | 
| 0     | √∞\x9f\x91\x8d,     |  anon1, anon2, anon3, anon4 
         '√∞\x9f\x98\x86'(x3) |
| 1     | '√∞\x9f\x91\x8d'    |  anon1

我尝试了以下方法:

reactions['reaction_split'] = reactions['reactions\r'].str.split(',')

reactions

这个数据框叫做React。这个不起作用。有人有什么想法吗?

7hiiyaii

7hiiyaii1#

要从CSV文件中解析列中的字符串数据,您可以使用Python等编程语言。下面是如何使用Python实现的示例:
假设您有一个名为“data.csv”的CSV文件,其中包含以下内容:

Name,Email,Phone
JOhn Doe,john.doe@example.com,555-1234
Jane Doe,jane.doe@example.com,555-5678

1.导入CSV模块:首先在Python脚本中导入csv模块。

import csv

1.打开CSV文件:使用open函数打开CSV文件并创建csv.reader对象。

with open('data.csv', newline='') as csvfile:
    reader = csv.reader(csvfile)

1.解析数据:使用for循环遍历CSV文件中的每一行,并解析所需列中的数据。

reader = csv.reader(csvfile)
    for row in reader:
        phone_number = row[2]  # parse phone number from third column
        # do something with the phone number here

在上面的示例中,我们从CSV文件的第三列解析电话号码,并将其存储在一个名为phone_number的变量中。您可以修改此代码以解析其他列的数据或一次解析多个列。
注意:请务必记住CSV文件的结构,并确保从正确的列解析数据。如果CSV文件有标题,则可以使用next(reader)跳过第一行,以避免解析标题行。

相关问题