这里是我的csv文件内容:
'GK', 'M', 'A', 'D', 'M', 'D', 'M', 'M'
我尝试将csv文件作为字符串列表导入python程序,如下所示:
['GK', 'M', 'A', 'D', 'M', 'D', 'M', 'M']
但是,通过csv.reader
,它返回一个列表列表,并且只包含一个字符串,如:
["'GK', 'M', 'A', 'D', 'M', 'D', 'M', 'M'"]
我试图找出解决方案,但它采取了太多步骤,如下所示:
import csv
filepath = 'positions copy.csv'
file = open(filepath)
data = file.read().splitlines()
print(data)
data_2 = ''.join(data)
print(data_2)
data_3 = data_2.replace("'", "").replace(" ","")
print(data_3)
positions = data_3.split(',')
print(data_4)
有更短的解决方案吗?
这是一个使用csv读取器的答案,它是使用csv阅读器的一些可选参数完成的,您可以在这里看到所有这些参数。请注意,delimeter
默认为",因此在您的示例中并不严格需要它:
import csv
with open("positions copy.csv",'rt') as f:
print(next(csv.reader(f,delimiter = ',', quotechar = "'", skipinitialspace = True)))
使用此
with open('file1.txt',encoding='utf-8') as data:
print(data.read().strip().strip('"'))
使用'pandas'模块。
import pandas as pd
file=pd.read_csv('Your File')
现在文件是pandas DataFrame,但如果你想要numpy ndarray,请添加以下内容:
file=file.values
给定当前目录(data.csv
(中包含以下内容的文件:
'GK', 'M', 'A', 'D', 'M', 'D', 'M', 'M'
以下代码将:
- 将文件中的内容读取到
data
变量 - 将
data
字符串拆分为字符串列表,由字符序列,
分隔 - 从每个列表项中删除字符
'
的任何实例 - 从每个列表项中去掉任何前导/尾随空格
with open('data.csv', 'r') as f:
data = f.read()
data = [ s.replace(''', '').strip() for s in data.split(', ') ]
结果是一个字符串列表(data
(,当调用print(data)
时如下所示:
['GK', 'M', 'A', 'D', 'M', 'D', 'M', 'M']