[英]How to extract the strings from csv file in python
我正在通过读取我的串口来保存一个 csv 文件。 我的 csv 文件的几行:
*
20/01/20,10:13:59,"11 22
"
20/01/20,10:13:59,"11 22
"
20/01/20,10:13:59,"11 22
"
*
我想将列表中的日期、时间和我的 2 个数据全部作为 a[0] 作为日期,a[1] 作为时间,a[1]=data1,a[3]=data2
但是我无法将这 2 个数据分开,它们位于同一列中,这是代码片段
from pandas import read_csv
df = read_csv('test_csvtry1.csv')
输出是:
数据帧 7x3,但我希望它是 7x4
"
1 20/01/20 10:13:59 "11 22
"
2 20/01/20 10:13:59 "11 22
"
3 20/01/20 10:13:59 "11 22
"
4 20/01/20 10:13:59 "11 22
"
5 20/01/20 10:13:59 "11 22
"
6 20/01/20 10:13:59 "11 22
"
请有人让我知道如何做到这一点?
为什么要用熊猫来做这么基本的事情?
import csv
with open("date_time_data.csv", 'r') as f:
f_csv = csv.reader(f)
for line in f_csv:
a0, a1, a2 = line
print(a0,a1,a2)
20/01/20 10:13:59 11 22
20/01/20 10:13:59 11 22
20/01/20 10:13:59 11 22
您需要使用 data1 和 data2 之间的分隔符拆分数据部分。
在这种情况下,分隔符是空格。
让您将数据连接到某个变量中并执行以下拆分操作。
splitdata = data.split(" ")
data1, data2 = splitdata[0], splitdata[1]
在阅读 CSV 时,您将始终将其放在同一列中。 您需要手动拆分并存储在不同的列中。
在数据框中创建一个空列。
df['data2'] = np.nan
现在,
希望这可以解决您的问题。
for row in df.itertuples():
data = row.data
splitdata = data.split(" ")
data1, data2 = splitdata[0], splitdata[1]
row.data = data1
row.data2 = data2
要在 read_csv 函数本身中拆分 data1 和 data2,您可以执行以下操作。
from pandas import read_csv
df = read_csv('test_csvtry1.csv', header=None, delim_whitespace=True)
这将为您提供您正在寻找的 7x4 数据框。
在读取 csv 文件分隔符时使用多个分隔符 ["] 、 [,] 和 [ ]
df = pd.read_csv("test_csvtry1.csv" , sep='"|,| ', header = None)
df
0 0 20/01/20 10:13:59 NaN 11 22
1 1 20/01/20 10:13:59 NaN 11 22
2 2 20/01/20 10:13:59 NaN 11 22
删除具有 Nan 值的列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.